2013-06-05 59 views
10

如果在執行過程中某個項目被添加到使用ngRepeat呈現的數組中,是否重繪所有項目?添加新項目後,ngRepeat是否重新渲染所有項目?

+2

權威的答案,這個問題是「是的。」,但它不能被提交,因爲SO不會讓你進入這樣的簡短的回答。 – Stewie

+2

@Stewie它不好。從「是」開始。然後添加一個原因/解釋並鏈接到參考文獻。或者,留下「是的」。在評論中。這也沒關係。 – user2246674

+0

你說得對(關於答案的限制),但問題並沒有問「爲什麼要重畫」,它顯然只是問「重畫」,因此,問題的格式和長度沒有表現出任何理解的傾向ngRepeat行爲背後的深層原因。這就是我的「答案」打算表明的。 – Stewie

回答

6

是的,所有項目都重新繪製。

事實上,這些項目也可能在其他時間重繪。

示例:更新父指令/模板中的值時。在'$ digest'循環中,Angular將評估範圍樹,這將導致受影響的子組件被重繪。

的更多信息:

+0

感謝您的回答!這裏是問題繼續:) http://stackoverflow.com/questions/16968614/how-to-implment-a-load-more-pagination-in-angularjs-without-ng-repeat – redben

+1

哎呀,根據這篇文章不重繪一切http://www.bennadel.com/blog/2443-Rendering-DOM-Elements-With-ngRepeat-In-AngularJS.htm – redben

+1

這是一個好點!澄清 - 如果角度可以確定目標元素已經存在,則可以不添加新的DOM元素。 **然而,**變化的元素將被重新評估 - 這可能導致重新運行昂貴的操作。另外,對某些數據類型的「ng-repeat」將總是重繪所有元素 - 例如http://stackoverflow.com/q/14969502/317180 –

相關問題