使用工厂内部控制器
Use factory inside controller
我目前很难理解AngularJs中的模块原理。
我有3个文件:
- 应用程序
- 控制器
- 工厂
我想在我的控制器中使用工厂:
app.js:
angular.module('myApp', ['ngMaterial', 'ngMessages']);
controller.js:
angular.module('myApp').controller('MyController', function () {
...
}
factory.js:
angular.module('myApp').
factory('test', function () {
return 'Just a test';
});
我的控制器怎么能从test
-工厂知道?
您将其作为依赖项注入,就像对"ngMaterial"、"ngMessages"所做的那样
angular.module('myApp').controller('MyController', ['test',function (test) {
...
]};
附言一下,这和这样做是一样的,但当你混淆你的代码时就可以了
angular.module('myApp').controller('MyController',function (test) {...};
将您的工厂注入到您想要使用的任何地方。在这种情况下,您的控制器。
angular.module('myApp').controller('MyController', function ('test') {
...
}
此外,值得记住的是,如果您有多个模块,您可以将它们相互注入,并通过依赖注入在彼此中使用它们的服务。
您的代码非常好。你只需要将工厂注入你的控制器中。见下文
angular.module('myApp').controller('MyController', ['$scope','test',function ($scope, test) {
// Do your stuff here with test
]};
依赖注入!
看看这里。
将工厂注入控制器。然后,您可以使用控制器的出厂服务。
相关文章:
- 为什么$scope和'这'关键字在控制器内部可互换使用
- AngularJS控制器内部的功能
- 控制器内部无法访问Angular js输入模型
- 控制器内部的scope函数不根据视图中的ng模型更新值
- 在angularjs中的控制器内部调用multipe$http
- 立即调用角控制器内部的函数,这是一个很好的实践
- Angularjs 测试控制器内部的异步行为
- 在 ng 选项之后完成控制器内部的回调函数
- Angular 1.5:访问控制器内部的绑定控制器属性
- 控制器内部的角度方法调用
- 从控制器内部获取表单数据
- Jasmine Test Access A Promise 在控制器内部
- 角度控制器内部的无限循环
- 如何在控制器内部设置配置
- http调用位于指令内部的控制器内部
- 控制器内部的角度位置固定(角度模态?)
- Angular JS控制器内部函数的作用域
- 在控制器内部,我如何判断它是从ng控制器还是从路由运行的
- 在指令控制器内部更新作用域
- 从外部触发Angular控制器内部的一个函数