我在我的指令中加载了一个模板,我想根据一些给定的属性对其进行修改。我怎么能这样做?
这是我的指示:
directives.directive("myDirective", function($http, $compile){
return {
restrict: 'E',
scope : {
},
templateUrl: 'lib/directives/myTemplate.html',
link : function(scope, element, attrs) {
// I need template to contain myTemplate.html code, how can I do that ?
var trThead = template.find("thead").find("tr");
var headers = scope.attrs["headers"];
for (var i = 0; i < headers.length; i++) {
trThead.append('<th><span class="th-sort">' + headers[i] + '</span></th>');
}
element.append(template);
}
};
});
我不想直接在我的指令中定义HTML代码,因为它太大了。
答案 0 :(得分:-1)
正如naeramarth7所述,可以使用link / compile方法的element参数访问模板或 templateUrl 参数中设置的模板:
compile : function(element, attrs) {
}
link : function(scope, element, attrs) {
}