如何在AngularJS中从控制器调用工厂/服务?错误:组件$injector中存在未知的提供程序错误
我正在用AngularJS开发一个移动应用程序。首先,我像往常一样调用控制器中的所有$http请求。现在我已经阅读了更多关于Angular的内容,我发现这可能不是最佳实践,特别是如果您希望在控制器之间共享数据。所以我现在正在改造我的控制器/服务系统 现在来谈谈问题。我正在从控制器调用一个服务,但收到一个错误:组件$injector中的未知提供程序错误 有人能帮我吗 法典委员会:如何在AngularJS中从控制器调用工厂/服务?错误:组件$injector中存在未知的提供程序错误,angularjs,Angularjs,我正在用AngularJS开发一个移动应用程序。首先,我像往常一样调用控制器中的所有$http请求。现在我已经阅读了更多关于Angular的内容,我发现这可能不是最佳实践,特别是如果您希望在控制器之间共享数据。所以我现在正在改造我的控制器/服务系统 现在来谈谈问题。我正在从控制器调用一个服务,但收到一个错误:组件$injector中的未知提供程序错误 有人能帮我吗 法典委员会: listdnModule.factory('getActiveDnService', function ($scope
listdnModule.factory('getActiveDnService', function ($scope, $http) {
return {
getActiveDnSvc: function (id) {
return $http({
method: 'POST', url: 'svc.aspx/getActiveDN', data: "{'id':" + id + "}", cache: true
});
}
};
});
listdnModule.controller('listdnCtrl', ['$scope', '$http', 'getActiveDnService', function ($scope, $http, svc) {
$scope.mjav = 1;
svc.getActiveDnSvc($scope.mjav).success(function (data) {
$scope.listdn = data.d;
});
}]);
从服务的注入依赖项中删除
$scope
,$scope
只能注入控制器,并作为指令的链接函数的参数传入。您的服务应该如下所示:
listdnModule.factory('getActiveDnService', function ($http) {
return {
getActiveDnSvc: function (id) {
return $http({
method: 'POST', url: 'svc.aspx/getActiveDN', data: "{'id':" + id, cache: true
});
}
};
});
从服务的注入依赖项中删除
$scope
,$scope
只能注入控制器,并作为指令的链接函数的参数传入。您的服务应该如下所示:
listdnModule.factory('getActiveDnService', function ($http) {
return {
getActiveDnSvc: function (id) {
return $http({
method: 'POST', url: 'svc.aspx/getActiveDN', data: "{'id':" + id, cache: true
});
}
};
});
从服务的注入依赖项中删除
$scope
,$scope
只能注入控制器,并作为指令的链接函数的参数传入。您的服务应该如下所示:
listdnModule.factory('getActiveDnService', function ($http) {
return {
getActiveDnSvc: function (id) {
return $http({
method: 'POST', url: 'svc.aspx/getActiveDN', data: "{'id':" + id, cache: true
});
}
};
});
从服务的注入依赖项中删除
$scope
,$scope
只能注入控制器,并作为指令的链接函数的参数传入。您的服务应该如下所示:
listdnModule.factory('getActiveDnService', function ($http) {
return {
getActiveDnSvc: function (id) {
return $http({
method: 'POST', url: 'svc.aspx/getActiveDN', data: "{'id':" + id, cache: true
});
}
};
});
这几乎是事实。链接函数中的范围不是注入,只是正常参数。但是你的回答是正确的,欢迎你。这就是为什么您在链接中没有看到
$scope
,而是scope
,更确切地说:“这是一个正常参数”:)哦,谢谢您,先生!我一直在读关于不能做到这一点的书,但我没有想到这一点,因为这对我来说真的很新鲜,我已经连续工作了两天。你使我免于许多挫折。我再次感谢你!这几乎是事实。链接函数中的范围不是注入,只是正常参数。但是你的回答是正确的,欢迎你。这就是为什么您在链接中没有看到$scope
,而是scope
,更确切地说:“这是一个正常参数”:)哦,谢谢您,先生!我一直在读关于不能做到这一点的书,但我没有想到这一点,因为这对我来说真的很新鲜,我已经连续工作了两天。你使我免于许多挫折。我再次感谢你!这几乎是事实。链接函数中的范围不是注入,只是正常参数。但是你的回答是正确的,欢迎你。这就是为什么您在链接中没有看到$scope
,而是scope
,更确切地说:“这是一个正常参数”:)哦,谢谢您,先生!我一直在读关于不能做到这一点的书,但我没有想到这一点,因为这对我来说真的很新鲜,我已经连续工作了两天。你使我免于许多挫折。我再次感谢你!这几乎是事实。链接函数中的范围不是注入,只是正常参数。但是你的回答是正确的,欢迎你。这就是为什么您在链接中没有看到$scope
,而是scope
,更确切地说:“这是一个正常参数”:)哦,谢谢您,先生!我一直在读关于不能做到这一点的书,但我没有想到这一点,因为这对我来说真的很新鲜,我已经连续工作了两天。你使我免于许多挫折。我再次感谢你!