0

我正在尝试在a 的函数中使用该wrap函数。compiledirective

以下将导致无限循环并导致浏览器崩溃:

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

    return linker;
}

为什么会这样?

4

1 回答 1

5

我猜……第一次compiler调用你的函数时,它会将元素(即,HTML 中你放置指令属性的元素)包装在一个新的 <div></div> 中。Angular 将其视为一个新元素并对其进行编译……找到您的指令,该指令再次调用编译器函数,再次包装它,Angular 将其视为一个新元素……无穷无尽。

于 2013-02-14T05:03:28.597 回答