Angular UI - 以编程方式设置活动选项卡

No1*_*ver 10 angularjs angular-ui angular-ui-bootstrap angular-ui-tabset

我在这个代码中使用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>
Run Code Online (Sandbox Code Playgroud)

我想以编程方式更改角度控制器代码中的当前活动标记.例如,选择选项卡"2"作为活动.

怎么做到这一点?

小智 12

您需要在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>
Run Code Online (Sandbox Code Playgroud)

看到这个工作plnkr: 工作Plnkr


Roh*_*fii 5

我遇到了同样的问题,这个答案帮助我弄清楚了。

我在作用域中使用了两个变量:$scope.showTabsInView$scope.activeTabIndex

默认值为:

$scope.showTabsInView = false;
$scope.activeTabIndex = 0;
Run Code Online (Sandbox Code Playgroud)

首先,我加载了我的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>
Run Code Online (Sandbox Code Playgroud)

你可以简单地忽略dynamic tabs$scope.showTabsInView如果你的情况是没有那么多复杂。