我对角度很新。我知道Angular支持DI,但我无法理解为什么我们需要两次定义注入模块(在这种情况下为$ scope)。
angular.module('docsBindExample', [])
.controller('Controller', ['$scope', function($scope) {
$scope.name = 'Max Karl Ernst Ludwig Planck (April 23, 1858 – October 4, 1947)';
}]);
答案 0 :(得分:3)
您没有 两次定义它以使其按原样运行,但这样可以避免缩小问题。当你缩小时,$scope
变量可能被称为完全不同的变量,如a
,而Angular不知道这意味着什么 - 它使用字符串来解决这个问题。
我只是通过缩小器来演示:
angular.module("docsBindExample",[]).controller("Controller",["$scope",function(e){e.name="Max Karl Ernst Ludwig Planck (April 23, 1858 – October 4, 1947)"}])
这样,Angular仍然可以匹配依赖关系
答案 1 :(得分:1)
字符串用于防止缩小/混淆。在那之后,您的参数/方法/变量等将被随机重命名。该字符串列表(按顺序)是一种匹配依赖项备份的方法。