2014-06-26 169 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嘖嘖:

這個範圍是一個典型的後裔在定義應用程序時創建的根作用域爲 。