在AngularJS中向控制器添加服务

时间:2014-08-31 14:45:40

标签: angularjs

我正在尝试确定我是否理解AngularJS中的一些核心概念。如果我有一行代码说:

.controller('MyCtrl', function($scope) { 

我将其更改为:

.controller('MyCtrl', function($scope, $myService) { 

说“$ myService注入MyCtrl”是否正确。或者说“$ myService是作为MyCtrl的依赖注入”更正确吗?或者,是否应该完全以其他方式说出来?

非常感谢你!

3 个答案:

答案 0 :(得分:1)

要么都没事。在您的示例中,myService作为MyCtrl的依赖项注入MyCtrl。

但是,有一点需要注意。您不应该在开头用美元符号命名您的服务,因为它是为Angular源代码中的提供者保留的。

相反,请执行:

.controller('MyCtrl', function($scope, MyService) { 

答案 1 :(得分:0)

服务是一种维护多个控制器之间共同状态的方法,所以是的,将服务注入控制器是完全正确的。

Docs

答案 2 :(得分:0)

正确地说,您在控制器中注入服务是正确的,因为您将使用该控制器中的服务方法,作为跨多个控制器的数据传输或通过服务器获取服务。

建议使用此表示法注入服务

.controller('MyCtrl', ['$scope','$myService',function($scope, $myService) {}]);

当您缩小控制器js时,它将不会出现此格式的错误。