OddDev
OddDev

Reputation: 1611

child state resolve injected in a parent controller

I have this state confg :

function routeConfig($stateProvider, $urlRouterProvider) {
    $stateProvider
        .state('projects', {
            url: '/projects',
            template : '<ui-view  autoscroll="true" autoscroll-body-top></ui-view>',
            abstract: true,
            title: 'Les projets',
            controller : 'ProjectController',
        }) .state('projects.add', {
            url: '/add',
            templateUrl: 'http://localhost:8080/gestionprojet/projects',
            title: 'Ajouter un projet',
        })
         .state('projects.detail', {
             url: '/detail',
             params : { projectId : null},
             templateUrl: 'http://localhost:8080/gestionprojet/detailProject',
             resolve : {
                 project: function (projectFactory, $stateParams) {
                     return projectFactory.getProject($stateParams.projectId);
                 },
                 projectTasks : function (projectFactory, $stateParams) {
                     return projectFactory.getProjectTasks($stateParams.projectId);
                 } 
             },
             title: 'Detail du projet',
        });
}

and in my controller :

angular.module('BlurAdmin.pages.projects')
.controller('ProjectController', ProjectController);

function ProjectController($state, $stateParams, $log, $scope, projectFactory, taskFactory, project, projectTasks) { ... }

I get this error if I go to project.add :

Unknown provider: projectProvider <- project <- ProjectController

How to resolve this ? Thank you.

Upvotes: 1

Views: 361

Answers (1)

OddDev
OddDev

Reputation: 1611

Nested resolved vars cannot be injected into the parent controller. See here

Upvotes: 1

Related Questions