2014-06-26 327 views
2

我是Angular的新手,我遇到了this fiddle,它解释了嵌套控制器是如何工作的。当我将$ scope重命名为$ abc并且它不起作用时,它是否意味着$ scope是angularJS中的保留关键字?

function CarController($scope) { 

    $scope.name = 'Car'; 
    $scope.type = 'Car'; 

} 

function BMWController($scope) { 

    $scope.name = 'BMW'; 

} 

function BMWMotorcycleController($scope) { 

    $scope.name = 'BMWMotorade'; 
    $scope.type = 'Motorcycle'; 

} 

回答

0

这不是保留关键字,它是一个特定的依赖关系。你可以问各种各样的依赖。例如,您可以定义一个服务并将其称为“$ abc”,然后将该服务注入到您的控制器中。欲了解更多信息:

https://docs.angularjs.org/guide/di

2

实际上,是的。从某种意义上说,它不是保留字,例如ifwhile是AngularJS给出的含义。在你的例子中,Angular分析函数的字符串表示形式,并使用命名参数来确定在调用函数时要“注入”什么。

在这种情况下,您正在注入$scope服务。

+0

因此,AngularJS通过解析参数列表来决定要输入控制器函数的内容。现在这是非常不寻常的,但在同一时间创新!这就像一个双向功能。 –

0

我看到这个在其网站上一个AngularJS啧啧:

这个范围是一个典型的后裔在定义应用程序时创建的根作用域为 。