如何使用angular 1.3将服务注入提供商
How to inject services into a provider with angular 1.3
在我能找到的每一条信息(包括角度文档)中,将服务注入提供者的方法是通过$get
方法:
var myApp = angular.module('myApp', []);
myApp.provider('helloWorld', function() {
this.$get = function() {
return {
sayHello: function() {
return "Hello, World!"
}
}
};
});
function MyCtrl($scope, helloWorld) {
$scope.hellos = [helloWorld.sayHello()];
}
这将在角度1.2及以下情况下完美工作:http://jsfiddle.net/1kjL3w13/
不过,切换到angular(角度)1.3,$get
功能完全中断。似乎从$get
函数返回的任何内容都不再用于实例化提供者,因此现在对注入f.e.服务毫无用处。
与上面的示例相同,但使用angular 1.3:http://jsfiddle.net/duefnz47/
这正是angular文档中提供的行为。因此,要么文档是错误的,要么我完全误解了它。我真的不在乎$get
方法是否像以前一样工作,但我只需要能够将服务可靠地注入到我的提供者中。
问题是您使用的全局控制器根据角度1.3 无效
所以使用
angular.module('myApp').controller('MyCtrl',function ($scope, helloWorld) {
$scope.hellos = [helloWorld.sayHello()];
});
这里是更新的小提琴
**
移民文件官方
**希望它能有所帮助:)
相关文章:
- AngularJS在不使用变量的情况下将服务注入模块中,这样就可以缩小它
- AngularJS 服务注入器错误
- 采用多种方法在控制器中进行角服务注入
- 是否可以将服务注入Angular 1.5组件's templateUrl属性
- 当服务注入到其他地方时,角度提供程序配置重置
- 如何将服务注入链接函数包含指令
- 将控制器作为打字稿/角度中的服务注入
- 无法将服务注入其 Angular 单元测试中
- 将服务注入指令 AngularJS 和数据绑定
- 为什么当服务注入第二个控制器时,AngularJS 1.4.8 应用程序不起作用
- 将升级的服务注入组件
- 错误:将Angular$http服务注入需要插件
- 如何将多个服务注入一个控制器
- AngularJS,将服务注入控制器
- Angular如何将服务注入.run(函数
- 如何将服务注入AngularJS'的UI路由器templateUrl函数
- 当将服务注入(导入)到我的构造函数中时;无提供者”;错误
- 在AngularJS中,当自定义服务注入到不同的模块时,未知的提供商
- 为另一个服务注入服务
- 为什么我不能把服务注入到Angular的工厂/注入器中?