我在选项卡内部使用链接时遇到了问题,这会更改视图并替换选项卡。只有在选项卡中使用ng repeat时才会出现问题,而在静态选项卡中则不会出现问题。
这是主页:
<div ui-view name="pageContent">
<uib-tabset>
<uib-tab ng-repeat="tab in tabs" heading="{{tab.name}}" active="tab.active" ng-click="!tab.disable && load(tab.link,tab.id)">
</uib-tab>
<!-- <uib-tab heading="Static title">Static content</uib-tab>
<uib-tab heading="Static title">Static content 2</uib-tab> <!-- when I use the comment code it works. -->
</uib-tabset>
<div>
<a class="btn btn-link" ui-sref="xxxx.yyyyy" role="button">
{{$storage.aaaa.bbbbb}}
</a><!-- this view replace the pageContent -->
</div>
</div>
错误为:
错误:找不到指令"uibTab"所需的控制器"uibTabset"!
提前感谢
我整理好了。这就是密码。
<div class="row top-margin" ng-show=" uiRouterState.current.name !='xxxx'">
<div class="col-md-12">
<uib-tabset>
<uib-tab ng-repeat="tab in tabs" heading="{{tab.name}}" active="tab.active" ng-click="!tab.disable && load(tab.link,tab.id)">
</uib-tab>
</uib-tabset>
</div>
</div>
<div ui-view name="pageContent">
<a class="btn btn-link" ui-sref="xxxx" role="button">
Link
</a><!-- this link replace the "pageContent" with view xxxxx -->
<div>
我在控制器中创建了一个名为$scope.uiRouterState=$state的$scope变量,用于存储当前状态。
更清洁的方式如下:
我正在使用pug,如果你有纯html,请注意(更改)语法。
uib-tabset(type="tabs")
uib-tab(ng-repeat="tabs in tabs track by $index" ng-click="$index = !$index" )
uib-tab-heading
span {{ tabs.name }}
div(ng-if="$index === true")
span {{ content goes here }}