2016-11-29 5 views
1

я не могу получить контроллер работает, несмотря на учетеконтроллер не является функцией Угловая

я определяю мой контроллер, как показано ниже

(function() { 
    'use strict'; 

    function EntityModulesCtrl(UserManagement, getEntityModules) { 
    let ctrl = this; 

    console.log('loggging from entityModules ctrl...'); 
    console.log(getEntityModules); 

    ctrl.saveMapping = function() { 
     let params = { 
     modules: ctrl.selectedModules, 
     entity: ctrl.selectedEntity 
     }; 

     UserManagement.saveModuleEntityMapping(params).then(function(res){ 
     console.log(res); 
     }); 
    } 
    } 

    angular.module('mean.user_management') 
    .controller('EntityModulesCtrl', EntityModulesCtrl); 

    EntityModulesCtrl.$inject = ['UserManagement', 'getEntityModules']; 
}); 

Мой маршрут

(function() { 
    'use strict'; 

    function UserManagement($stateProvider) { 
    $stateProvider.state('dashboard', { 
     url: '/dashboard', 
     templateUrl: 'user_management/views/index.html', 
     resolve: { 
     // dashboardConfig: function() { 
     // var roleType = localStorage.getItem('roleType'); 
     // } 
     } 
    }).state('userManagement circles example', { 
     url: '/userManagement/example/:circle', 
     templateUrl: 'user_management/views/example.html' 
    }).state('dashboard.entityModulesMapping', { 
     url: '/userManagement/mapEntityModules', 
     templateUrl: 'user_management/views/entityModules.html', 
     controller: 'user_management/controllers/EntityModulesCtrl.js', 
     controllerAs: '$ctrl', 
     resolve: { 
     getEntityModules: function (UserManagement) { 
      return UserManagement.getEntityModules().then(function (res) { 
      console.log("logging from mapEntityModules resolve..."); 
      console.log(res); 
      return res; 
      }) 
     } 
     } 
    }); 
    } 

    angular.module('mean.user_management') 
    .config(UserManagement); 

    UserManagement.$inject = ['$stateProvider']; 

})(); 

Я попытался с использованием

controller: EntityModulesCtrl 
controller: 'EntityModulesCtrl' 
controller: "path_to_my_controller_file" 

Но это не сработало.

+1

Ваш первый IIFE никогда не называется. Вы забыли скобки, чтобы называть его в конце: '()'. –

+0

Точно. Я так и думал. Плюс изменение контроллера на «EntityModulesCtrl» будет просто работать. – kushalvm

ответ

0

Ваш модуль должен быть с зависимостями,

angular 
    .module('mean.user_management',[]) 
    .config(UserManagement); 
0

В вашем скрипте добавить

controller: 'EntityModulesCtrl', 

вместо controller: 'user_management/controllers/EntityModulesCtrl.js',

И убедитесь, что вы добавляете controllerscript файл в HTML-страницу ,

<script src="user_management/controllers/EntityModulesCtrl.js"></script> 
+0

Убедитесь, что имя вашего контроллера должно быть 'EntityModulesCtrl' – ashishraaj

+0

Не нужно добавлять тег скрипта точно – kushalvm

+0

проверить http://plnkr.co/edit/uOW7tUQ2D5P22pBgLyoK?p=info и http://stackoverflow.com/ questions/30501931/assign-multiple-controller-in-stateprovider-state, вы также можете использовать имя контроллера, которое вы уже определили. – ashishraaj

Смежные вопросы