Factory составляет undefined в угловом
Я пытаюсь создать factory в AngularJS на основе этой статьи. Но я получаю сообщение об ошибке "dataFactory" undefined в моем контроллере. Мой код выглядит следующим образом:
MyApp.factory('dataFactory', ['$http', function($http)
{
var urlBase='/someurl/roles/';
var dataFactory={};
dataFactory.getRoles=function()
{
return $http.get(urlBase+'getlist');
};
dataFactory.addRole=function(roleName, roleCss)
{
return $http.get(urlBase+'add&name='+roleName+'&css='+roleCss);
};
dataFactory.updateRole=function(role)
{
return $http.get(urlBase+edit&id='+role.id+'&name='+role.name+'&css='+role.css');
};
dataFactory.deleteRole=function(role)
{
return $http.get(urlBase+'remove&id='+role.id);
};
return dataFactory;
}]);
MyApp.controller('RoleCtrl',['$scope','$http','dataFactory', function($scope,$http,$rootScope,dataFactory) {
dataFactory.getRoles().then(function(res){
$scope.roles = res.data.result;
});
}]);
Что я делаю неправильно?
Ответы
Ответ 1
Вам не хватает строковой версии '$ rootScope'
Итак, вместо
MyApp.controller('RoleCtrl',['$scope','$http','dataFactory', function($scope,$http,$rootScope,dataFactory) {
(обратите внимание на добавление '$rootScope'
):
MyApp.controller('RoleCtrl',['$scope','$http','$rootScope','dataFactory', function($scope,$http,$rootScope,dataFactory) {
dataFactory
собирался в $kerncope, поскольку у вас была несогласованность параметров. И тогда нечего было отправить в dataFactory
. Таким образом, ваша ошибка.