我想了解編譯和鏈接函數的區別。在the compiler的角度文檔中,它表示AngularJS:ng-repeat的編譯和鏈接函數
某些指令(如ng)重複爲集合中的每個項目克隆DOM元素一次。編譯和鏈接階段提高了性能,因爲克隆模板只需編譯一次,然後爲每個克隆實例鏈接一次。
我看着source code試圖瞭解這是如何工作的,我不明白它如何爲每個克隆實例創建單獨的鏈接函數。對我來說,它看起來像編譯函數返回一個ng-repeat指令的鏈接函數。這個鏈接函數確實爲ng-repeat中的每個元素創建了一個新的作用域,但是並沒有給每個克隆實例一個單獨的鏈接函數。
謝謝您的回答和紐帶,他們肯定幫了不少忙。只是爲了確保正確理解,如果您要在元素上使用ng-repeat指令,您似乎只會使用編譯。否則,你可以使用鏈接功能做所有事情,所以使用編譯沒有真正的好處。 – jvans
我想你明白了。除了你有多個指令副本的情況。 ng-repeat只是描述這種情況的一種便利方式。 – KayakDave
而在這兩種情況下,鏈接仍然是更常用的功能。正如你所說,你可以使用鏈接功能做更多的事情,因爲它被附加到一個真正的範例的實例。 – KayakDave