2013-02-14 43 views
0

我試圖在directivecompile函數中使用wrap函數。爲什麼使用wrap指令編譯函數會導致無限循環?

以下原因會導致一個無限循環和崩潰的瀏覽器:

function compiler(tElement, tAttrs, transcludeFn) { 
    var wrapper = angular.element('<div />'); 
    tElement.wrap(wrapper); 

    return linker; 
} 

這究竟是爲什麼?

回答

5

我猜...第一次調用compiler函數時,它會將元素(即指向HTML屬性的元素)包裝在新的< div> </div>中。 Angular把它當作一個新的元素,並且編譯它......找到你的指令,它再次調用編譯器函數,再次包裝它,Angular把它當作一個新元素......無限的。

+0

這有幫助。謝謝 – Dustin 2013-02-14 19:51:35

相關問題