2013-02-09 76 views
2

我正在查看Angular API reference。它說,ngController是一個指令,並給出了下面的例子:AngularJS如何識別控制器指令的功能

function SettingsController($scope) { 
$scope.name = "John Smith"; 
} 

這看起來完全像一個普通的JavaScript函數,在我認爲定義指令傳遞的參數$範圍,我們需要調用:

app.directive("name", func()) 

Angular將$ scope參數作爲控制器指令對待任何函數嗎?或者只有當我們修改DOM元素以包含ng-controller =「SettingsController」時,SettingsController纔會被解釋爲這樣?

回答

2

ngController是指令(指令總是在DOM中引用 - Angular允許您通過標籤名稱,屬性,類名和註釋指定指令)。 ngController指令的寫法是,它將根據傳入指令的名稱(在本例中爲字符串"SettingsController")創建一個控制器實例。該函數本身不是指令。

+0

感謝您澄清我的誤解。 ,如果我可以傳遞任何函數給指令,上面的普通JS函數和'myApp.controller(「SettingsController」,function(){})'' – AdamNYC 2013-02-09 04:09:32

+1

沒什麼區別,沒有區別。 'ngController'指令非常聰明,可以在全局範圍內找到函數,但我個人*討厭*這種模式,總是*推薦人們用'myApp.controller'來定義控制器函數。 – 2013-02-09 04:13:28

+0

完美!謝謝你的推薦。 – AdamNYC 2013-02-09 04:14:21

相關問題