2013-02-24 38 views
1

我正在學習angularJS,並試圖理解爲什麼只有一個實際調用時會調用多個方法。在這一行:在angularjs中,爲什麼單擊一個元素還會觸發元素屬性中的其他方法調用?

<li ng-repeat="i in names" style="position: relative; top:{{mar(i)}}px; z-index:{{i}}; background-color: orange;" ng-click="clicker(i, $index)">{{i + " " + $index}}</li> 

所以我在這行兩個「來電」:

  1. 內style屬性 - 這個計算頂偏。
  2. ng-click =我點擊元素時的功能。

當我點擊元素 - mar(i)被稱爲ALONG WITH ng-click函數。

我只是想明白爲什麼會發生這種情況。我有一個plunk here,你可以嘗試。

回答

5

這是因爲你綁定了一個方法,你說的是{{mar(i)}} ..這意味着每當有一個$摘要時,比如觸發ng-click之後,該方法就必須被評估。該視圖可以更新。

+1

這是正確的。 Angular始終重新評估一切,這就是它的工作原理。如果它不起作用,即如果JavaScript慢100倍,那麼像Angular這樣的東西根本就不會存在。 – jpsimons 2013-02-24 04:05:36

相關問題