【发布时间】:2014-08-29 17:57:04
【问题描述】:
我正在使用 angular-ui-bootstrap tabs 和 angular-ui-router。单击选项卡时,我想将特定状态加载到选项卡窗格中。这工作正常。问题是状态正在加载到 DOM 中的每个选项卡窗格中。尽管用户永远无法判断,但让所有这些内容在 DOM 中不必要地重复并不是一个好主意。发生这种情况的原因很清楚——状态模板被插入到 ui-view 中,如下所示:
<tabset>
<tab class="clinical-tabs" ng-repeat="tab in tabs" heading="{{tab.title}}" active="tab.active" disabled="tab.disabled" ui-sref="activity.clinical.{{tab.title}}">
<div ui-view></div>
</tab>
</tabset>
结果是每个选项卡窗格中都加载了内容:
<div class="tab-content">
<!-- ngRepeat: tab in tabs -->
<div class="tab-pane ng-scope active" ng-repeat="tab in tabs" ng-class="{active: tab.active}" tab-content-transclude="tab">
<!-- uiView: -->
<div ui-view="" class="ng-scope">
CONTENT IS LOADED HERE
</div>
</div>
<!-- end ngRepeat: tab in tabs -->
<div class="tab-pane ng-scope" ng-repeat="tab in tabs" ng-class="{active: tab.active}" tab-content-transclude="tab">
<!-- uiView: -->
<div ui-view="" class="ng-scope">
CONTENT IS ALSO LOADED HERE
</div>
</div>
<!-- end ngRepeat: tab in tabs -->
...
...
...
</div>
就像我说的,问题的原因很清楚。但是,我没有足够的 Angular 经验,不知道如何提出解决方案。
【问题讨论】:
标签: javascript angularjs angular-ui angular-ui-bootstrap angular-ui-router