工厂在anglejs中是未定义的
发布时间:2020-12-17 07:43:57 所属栏目:安全 来源:网络整理
导读:我正在基于 this article在AngularJS中创建一个工厂.但是我的控制器中未定义“dataFactory”的错误.我的代码如下所示: MyApp.factory('dataFactory',['$http',function($http) { var urlBase='/someurl/roles/'; var dataFactory={}; dataFactory.getRoles=
我正在基于
this article在AngularJS中创建一个工厂.但是我的控制器中未定义“dataFactory”的错误.我的代码如下所示:
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; }); }]); 我究竟做错了什么?
你缺少’$rootScope’的字符串版本
所以代替 MyApp.controller('RoleCtrl',dataFactory) { 使用(注意添加’$rootScope’): MyApp.controller('RoleCtrl','$rootScope',dataFactory) { dataFactory进入$rootscope,因为你的参数不对齐.然后没有什么可以发送到dataFactory.因此你的错误. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |