2015-06-07 89 views
-1

簡單的關於語法的問題。在角,我見過的功能像這樣創造了一個控制器內:爲什麼將函數分配給Angular中的變量

this.multiply = function multiply(a, b) { 
    return a * b; 
} 

我有點扔的,因爲給予該功能的名稱,並分配給一個變量。所以我的問題是爲什麼函數分配給Angular中的變量?這會影響範圍嗎?

+2

上實例取決於控制器別名範圍,它只是使他們誰就擁有一個實例控制器公開訪問。 –

+0

爲什麼倒票?這是一個有效的問題。 – AfterWorkGuinness

+0

更常見的是,您將在視圖模型(控制器)的作用域上創建一些內容,以便您的視圖可以訪問它(例如,點擊處理程序)。 –

回答

1

它不將其分配給一個變量。它將其分配給控制器的實例,其中this;所以無論誰擁有控制器的實例都可以調用它。

2

這是標準的JavaScript和這個叫Named function Expression

使用this你在控制器定義它。如果在視圖中或在定義路由時使用controlleras語法,則可以使用此類函數以及this上定義的任何屬性。

早期版本的角度僅採用$scope,一切都必須在$scope定義。

現在控制器本身controlleras

相關問題