Javascript 同时添加两个元素
我创建了一个嵌套指令(一个多任务表单指令),简化如下:Javascript 同时添加两个元素,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我创建了一个嵌套指令(一个多任务表单指令),简化如下: <outer> <inner heading="a" src="'a.html'" active="true"></inner> <inner heading="b" src="'b.html'"></inner> </outer> 我成功地实现了所有功能,除了一个让我头疼的部分:如何显示/隐藏内容?这是一个解决方案。这里有一个解决方案: 对index.htm
<outer>
<inner heading="a" src="'a.html'" active="true"></inner>
<inner heading="b" src="'b.html'"></inner>
</outer>
我成功地实现了所有功能,除了一个让我头疼的部分:如何显示/隐藏内容?这是一个解决方案。这里有一个解决方案:
对index.html的修改:
<outer>
<inner heading="a" src="'a.html'" index="0" active=true></inner>
<inner heading="b" src="'b.html'" index="1"></inner>
</outer>
添加了如下修改的内部链接函数:
link : function(s, e, a, ctrl) {
ctrl.addTab(a.active, a.heading);
s.isActive = function () {
return ctrl.isActive(a.index);
};
}
您希望将
活动的绑定到内部对象之间共享的内容。使用提供的ng include
设置可能会有点尴尬,但是您是否尝试过将选项卡
对象传递给每个内部
元素?这样,您就可以在内部
元素中访问它的活动状态。这可以完成工作,但索引
属性让我不高兴,我将尝试在幕后计算:)您也可以循环浏览列表,具体取决于各种选项卡内容的数据是否可以存储为列表。我也是Angular的初学者,因此,如果在我的实现中出现错误,我深表歉意。
<ng-include ng-class="isActive()" src="src"></ng-include>
this.isActive = function (index) {
if(tabs[index] && tabs[index].active){
return "ng-show";
} else {
return "ng-hide";
}
};
link : function(s, e, a, ctrl) {
ctrl.addTab(a.active, a.heading);
s.isActive = function () {
return ctrl.isActive(a.index);
};
}