2014-08-31 75 views
0

我很新的角度。我知道Angular支持DI,但我无法理解为什么我们需要定义两次注入模块(本例中为$ scope)。双角定义的注入模块

angular.module('docsBindExample', []) 
    .controller('Controller', ['$scope', function($scope) { 
    $scope.name = 'Max Karl Ernst Ludwig Planck (April 23, 1858 – October 4, 1947)'; 
    }]); 

回答

3

你不要来定义它的两次工作,但它是为了节省你的问题与缩小。当你缩小时,那个$scope变量可能被称为完全不同的东西,如a,Angular不知道这意味着什么 - 它使用字符串来解决这个问题。

我只是跑了通过minifier证明:

angular.module("docsBindExample",[]).controller("Controller",["$scope",function(e){e.name="Max Karl Ernst Ludwig Planck (April 23, 1858 – October 4, 1947)"}]) 

这样,角仍可以与依赖了

+0

得到它!感谢您的解释! – 2014-08-31 03:20:09

1

这些字符串可以防止缩小/混淆。发生这种情况后,你的参数/方法/变量等将被随机重命名。该字符串列表(按顺序)是一种匹配备份依赖项的方法。