0

http://jsfiddle.net/3jvoL4ew/をチェックしてください

(注: で実行できることはわかっていますがtemplate:、それは私の質問ではありません)

これには、使用されている要素にボタンとテキストを追加するディレクティブが含まれています。

app.directive("otcDynamic", function ($compile) {
    return {
        compile: function(element) {
            var template = "<button ng-click='doSomething()'>{{label}}</button>";
            element.append(template);

        }
    }
});

それは機能しますが、そのようなディレクティブを定義する通常の方法は次のとおりです。

app.directive("otcDynamic", function ($compile) {
    return {
        link: function (scope, element) {
            var template = "<button ng-click='doSomething()'>{{label}}</button>";
            var linkFn = $compile(angular.element(template));
            var content = linkFn(scope);
            element.append(content);
        }
    }
});            

ngRepeat で使用するとusingcompile:がより簡潔で効率的である場合、なぜ人々は を使用することを推奨するの$compileでしょうか?

4

1 に答える 1