2013-02-14 74 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

相关问题