【发布时间】:2015-08-06 16:18:46
【问题描述】:
您好,总的来说,我是 Angular 和 JS 框架的新手。我想知道是否有人可以帮助我破译一些符号。
来自文档: https://docs.angularjs.org/guide/di
内联数组注解
someModule.controller('MyController', ['$scope', 'greeter', function($scope, greeter) {
// ...
}]);
$inject 属性注解
var MyController = function($scope, greeter) {
// ...
}
MyController.$inject = ['$scope', 'greeter'];
someModule.controller('MyController', MyController);
对于我的教育,$inject 方法是首选,因为它更爆炸。我看到三个步骤:1)定义函数,2)注入依赖项,3)附加到父模块。
好的,我的问题: 为什么将“$scope”和“greeter”列为函数的参数,然后用$inject 注入?不会是其中之一吧?
someModule.controller('MyController', MyController);
为什么 MyController 作为文字列出了两次?这是一种类型和象征性的东西吗?是不是也很容易:
someModule.controller('MyInstanceOfMyController', MyController);
感谢您的任何启发
【问题讨论】:
标签: angularjs dependency-injection