Angular UI选项卡 - 以编程方式更改活动选项卡

时间:2016-09-13 07:14:54

标签: javascript angularjs angular-ui-bootstrap angular-ui

我有一个带有两个角度ui标签的网页。我在此页面中添加了一个新按钮,我想添加此按钮单击行为:单击该按钮时,将该选项卡交换到另一个选项卡。

例如:

  • 如果当前有效标签是"首先" - 制作"秒"选项卡处于活动状态。
  • 如果当前活动标签是" second" - 制作"第一"选项卡处于活动状态。

这是我的(非)工作示例: http://plnkr.co/edit/2ajxz7oGYmF8oPlHc8kc

<uib-tabset type="pills" active="selected">
  <uib-tab heading="First" index="1">
    First data
  </uib-tab>
  <uib-tab heading="Second" index="2">
    Second data
  </uib-tab>
</uib-tabset>

我非常确定我的问题之一取决于active="selected"段。这是因为我期望变量将放在$scope上,而它在分离的范围(tab-set)上运行。我试图通过将此段更改为active="$parent.$parent.selected"来解决此问题,但没有成功。

所以,主要问题是swap()函数:

  $scope.swap = function() {
    alert($scope.selected);
    if ($scope.selected == 1)
      $scope.selected = 2;
    else
      $scope.selected = 1;
  }

我该怎么做?

1 个答案:

答案 0 :(得分:4)

您使用的是旧版 Angular UI Bootstrap(0.14.3)

<uib-tabset>
  <uib-tab heading="First" active="selected == 1">
    First data
  </uib-tab>
  <uib-tab heading="Second" active="selected == 2">
    Second data 
  </uib-tab>
</uib-tabset>

有关详情(http://angular-ui.github.io/bootstrap/versioned-docs/0.14.3/#/tabs

,请参阅文档

也是一个有效的Plunkr(http://plnkr.co/edit/qAbUtv06ck64JCf8JaKp?p=preview

PS。上面的代码适用于上面的1.2.0版。如果您可以选择升级版本,也可以这样做:)

相关问题