我使用AngularUI,代码如下:
<uib-tabset type="pills">
<uib-tab heading="Tab 1">Tab 1 content</uib-tab>
<uib-tab heading="Tab 2">Tab 2 content</uib-tab>
</uib-tabset>
我想通过编程的方式从我的角控制器代码中改变当前的活动标签。例如,选择选项卡"2"作为活动选项卡。
如何做到这一点?
您需要在ui-tabset上使用active属性。然后,您需要在每个选项卡上都有索引,以便从外部上下文工作。
<uib-tabset type="pills" active="active">
<uib-tab heading="Tab 1" index="0">Tab 1 content</uib-tab>
<uib-tab heading="Tab 2" index="1">Tab 2 content</uib-tab>
</uib-tabset>
查看此工作计划:工作Plnkr
我也有同样的问题,这个答案帮助我弄清楚了。
我在作用域中使用了两个变量:$scope.showTabsInView
和$scope.activeTabIndex
。
默认值为:
$scope.showTabsInView = false;
$scope.activeTabIndex = 0;
首先加载dynamic tabs
,然后指定activeTabIndex
的值。然后我将showTabsInView
的值更改为true。
<uib-tabset ng-if="showTabsInView" active="activeTabIndex">
<uib-tab data-ng-repeat="tab in tabs" heading="{{tab.title}}">{{tab.content}}</uib-tab>
</uib-tabset>
如果您的情况不是那么复杂,您可以简单地忽略dynamic tabs
和$scope.showTabsInView
。