我试图找出您是否可以在指令中包含多个html文件,然后根据您通过html标记传递的内容,它会显示不同的HTML布局。
这是我正在建造的手风琴所需要的东西。我们希望能够重复使用该指令,但有时html将采用不同的布局。
到目前为止,我相信这可以通过以下方式完成:
<accordion data-attr="layout('feedback')></accordion>
然后在Js中检查已经传递的内容并将该指针指向另一个视图。
我不确定的是将accordion指令指向另一个html文件。
答案 0 :(得分:2)
您只需在模板中使用ng-include
指令:
module.directive('accordion', function() {
return {
scope: { type: '&' },
template: '<div ng-include="type()"></div>'
};
});
答案 1 :(得分:1)
是的,在您的指令中,您可以将模板设置为接受元素和属性的函数。
.directive('accordion', function() {
return {
templateUrl: function(elem, attr){
return 'layout-' + attr.type + '.html';
}
};
});
并使用它:
<accordion type="some-file"></accordion>