2015-04-14 27 views
3

我是AngularJS的新手,嘗試設置一個函數,每當變量發生變化時都會調用函數。

目前我有一個下拉菜單,ng-model綁定到$ scope.userRating。我試圖獲得一個函數,當用戶使用下拉列表更改值時立即調用該函數。

我一直在尋找$ watch,但不太清楚如何讓它工作。我也嘗試在html中做一個ng-click函數,但ng-clicks似乎沒有觸發。

回答

8

您應該使用$ watch。 例 -

$scope.$watch('modalVarible',function(newVal,oldVal){ 
//do your code 
} 

這裏就變「modalVarible」這款腕錶的變化將被調用。

+0

我試着做那個安妮塔。 。只是快速 $範圍$腕錶((userRating),功能(NEWVALUE,OLDVALUE){ 的console.log(userRating);} ) 但是,似乎當我訪問了只能被稱爲部分,而不是在更改變量時:/ – user3056656

+0

然後它給出了什麼錯誤? $ watch('userRating',.. ..沒有括號 – Anita

+0

這個工作!謝謝,顯然這只是我在版本中的格式,謝謝Anita! – user3056656

0

我們可以使用$watchGroupcontroller of our directive綁定$範圍變量的變化(雙向)

$scope.$watchGroup(['var1','var2'],function() { 

}); 

你也可以檢查此question