0

wrapの関数内でcompile関数を使用しようとしていますdirective

以下は、無限ループを引き起こし、ブラウザをクラッシュさせます:

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 に答える