angularjs DI与普通函数参数有何不同?

时间:2016-08-11 06:42:19

标签: javascript angularjs

如果我们定义一个控制器,那么我们就像

那样写
var app =  angular.module('myMod',[]);

app.controller('myCtrl',function($scope){
})

这里$scope是一个DI,它作为函数参数在回调函数内传递。现在,我理解命名在这里有角度,但除此之外,正常函数参数和角度中的依赖注入之间的区别是什么。

2 个答案:

答案 0 :(得分:1)

这是一段视频link,它将阐明AngularJS变量和函数的概念。

答案 1 :(得分:0)

你会注意到函数($ scope){...}是app的.controller方法的第二个参数。这是一个匿名函数,在初始化控制器时执行。 $ scope通过angular检测为依赖关系并传递给此控制器函数。除此之外,没有区别。我通常不会将匿名函数视为带参数的函数。

编写该功能的另一种方法如下。这是更常见的写入方式,因为它将允许代码最小化器正常运行。它告诉角度以什么顺序注入什么依赖性。您编写的短路语法也有效。

var app =  angular.module('myMod',[]);

app.controller('myCtrl', [ '$scope', function($scope){
}])