AngularJS指令修改链接或编译函数中的加载模板

时间:2014-07-24 09:10:29

标签: javascript angularjs

我在我的指令中加载了一个模板,我想根据一些给定的属性对其进行修改。我怎么能这样做?

这是我的指示:

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代码,因为它太大了。

1 个答案:

答案 0 :(得分:-1)

正如naeramarth7所述,可以使用link / compile方法的element参数访问模板 templateUrl 参数中设置的模板:

compile : function(element, attrs) {

}

link : function(scope, element, attrs) {

}