gpt4 book ai didi

angularjs - 工厂在 angularjs 中未定义

转载 作者:行者123 更新时间:2023-12-03 20:04:26 25 4
gpt4 key购买 nike

我正在尝试基于 this article 在 AngularJS 中创建一个工厂.但是我收到一条错误消息,说我的 Controller 中未定义“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',['$scope','$http','dataFactory', function($scope,$http,$rootScope,dataFactory) {

使用(注意添加 '$rootScope' ):
MyApp.controller('RoleCtrl',['$scope','$http','$rootScope','dataFactory', function($scope,$http,$rootScope,dataFactory) {
dataFactory正在进入 $rootscope ,因为您的参数未对齐。然后没有什么可以发送到 dataFactory .因此你的错误。

关于angularjs - 工厂在 angularjs 中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20012479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com