我可以将templateUrl传递给指令 - AngularJS

时间:2013-11-02 13:17:59

标签: javascript angularjs

有没有办法将templateUrl传递给我的指令。我知道我可以使用翻译,但这似乎太多了。例如,我有一个widget指令,我想用特定的html填充。有没有办法传递它:

<div widget templateUrl="template1.html"></div>
<div widget templateUrl="template2.html"></div>

1 个答案:

答案 0 :(得分:33)

如果这是一个固定的URL,您可以定义一个指令,如

app.directive('myDirective', function() {
    return {
        templateUrl: function(tElement, tAttrs) {
            return tAttrs.templateUrl;
        }
    };
});

然后像这样使用它

<div my-directive template-url="template1.html"></div>

否则,您可以传递URL,就像将任何其他属性传递给指令一样,并在指令的模板中使用ng-include