Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 同时添加两个元素_Javascript_Angularjs_Angularjs Directive - Fatal编程技术网

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);
    };
}