查看http://jsfiddle.net/3jvoL4ew/
(注意:我知道它可以用 a 来完成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);
}
}
});
所以如果compile:
在 ngRepeat 中使用 using 更简洁、更高效,为什么人们推荐 using$compile
呢?