2016-08-25 58 views
0

我有一個NG重複和NG-重複裏面我有角run函數一次NG-重複

<p style="color:red">Booked Ref : {{agencyref(contentzz.Ref)}}</p> 

隨着它的不斷運行函數的方式角的作品,但此功能有一個HTTP請求在裏面,我只想運行一次。有什麼我可以使用?

回答

1

您可以使用一次性綁定語法(::)。

使用一次性綁定時,表達式只會被評估一次。

<p style="color:red">Booked Ref : {{::agencyref(contentzz.Ref)}}</p> 

更文檔信息:評價後觀察器將被移除,因此該表達式的輸出將不被下一次消化週期被觸發

使用一次性結合更新https://docs.angularjs.org/guide/expression#one-time-binding

+0

似乎還在繼續 –

+0

我得到這個錯誤:錯誤:[$ rootScope:infdig] 10 $ digest()迭代到達。中止! [phonegap] Watchers在最近的5次迭代中被解僱了:[] –

+0

現在我意識到這實際上不用於表達。我會盡快更新答案。 – cbass

0

使用此

<p style="color:red" ng-if="$first">Booked Ref : {{agencyref(contentzz.Ref)}}</p> 

所以,這將獲得唯一的第一個元素執行。

+0

我想運行在每個元素上的功能,但只有一次 –

0

如果你只想運行一次,你爲什麼要把它包含在ng-repeat中?

建議1:我建議你可以在父標籤中使用ng-init並稍後使用結果。

建議2:您可以利用角模塊的.run方法,但這是一個非常具體的要求。對於您目前的問題,我不確定這是否適合您,但這是執行該方法一次的另一種方式。

+0

感謝您的回答,我是相當新的角度未能暗示任何這些建議,請你擴大一點NG-INIT? –

+0

我不想運行一次,我想爲每個重複項目運行一次 –