簡單的關於語法的問題。在角,我見過的功能像這樣創造了一個控制器內:爲什麼將函數分配給Angular中的變量
this.multiply = function multiply(a, b) {
return a * b;
}
我有點扔的,因爲給予該功能的名稱,並分配給一個變量。所以我的問題是爲什麼函數分配給Angular中的變量?這會影響範圍嗎?
簡單的關於語法的問題。在角,我見過的功能像這樣創造了一個控制器內:爲什麼將函數分配給Angular中的變量
this.multiply = function multiply(a, b) {
return a * b;
}
我有點扔的,因爲給予該功能的名稱,並分配給一個變量。所以我的問題是爲什麼函數分配給Angular中的變量?這會影響範圍嗎?
它不將其分配給一個變量。它將其分配給控制器的實例,其中this
;所以無論誰擁有控制器的實例都可以調用它。
這是標準的JavaScript和這個叫Named function Expression。
使用this
你在控制器定義它。如果在視圖中或在定義路由時使用controlleras
語法,則可以使用此類函數以及this
上定義的任何屬性。
早期版本的角度僅採用$scope
,一切都必須在$scope
定義。
現在控制器本身controlleras
上實例取決於控制器別名範圍,它只是使他們誰就擁有一個實例控制器公開訪問。 –
爲什麼倒票?這是一個有效的問題。 – AfterWorkGuinness
更常見的是,您將在視圖模型(控制器)的作用域上創建一些內容,以便您的視圖可以訪問它(例如,點擊處理程序)。 –