实现包含另一个html的指令

时间:2015-10-11 08:19:24

标签: angularjs directive

我想使用以下指令。 <tabContent action="XYZ.html">如果context.view等于XYZ,则会显示XYZ.html。所以我创建了以下指令:

.directive('tabContent',function(){
    return {
        restrict: 'E',
        template:'<div ng-if="view==\'{{action}}\'" ng-include="\'{{action}}.html\'"></div>',
        link: function(scope, elem, attrs) {
            scope.action = attrs.action;
        }
    }
})

是正确的方法吗?
谢谢,
奥马尔

1 个答案:

答案 0 :(得分:1)

首先,如果指令名称为tabContent,那么html标记将变为:<tab-content>

然后我认为您的代码存在一些问题,view是什么? 那应该是这样的:

HTML:

<tab-content action="XYZ.html"></tab-content>

JS:

.directive('tabContent',function(){
    return {
        restrict: 'E',
        template:'<div ng-include="action"></div>',
        link: function(scope, elem, attrs) {
            scope.action = attrs.action;
        }
    }
})

我删除了ng-if,因为我不知道view是什么。