带有递归指令的 ng-if 不能按预期工作
ng-if with recursive directives does not work as expected
我在 ui-bootstrap 选项卡中有两个递归指令。出于性能原因,我只想在相应选项卡处于活动状态时实际加载指令。所以我像这样在指令上使用 ng-if :
<dave ng-if="activeTab === 0"></dave>
...
<bob ng-if="activeTab= === 1"></bob>
现在,如果您转到选项卡 0,您会看到“dave”。然后转到选项卡 1,您会看到“bob”。返回选项卡 0,您仍然看到“bob”。如果我删除 ng-if 一切都按预期工作:dave、bob、dave。
我只需要在选项卡处于活动状态时才能呈现指令。我试过将指令放在 div 中并像这样使用 ng-if :
<div ng-if="activeTab === 0"><dave></dave></div>
但是还是有同样的问题
通过执行以下操作,我能够让选项卡正确地来回移动:
<div class="container" ng-app="app">
<uib-tabset active=activeTab>
<uib-tab index=0>
<uib-tab-heading>Tab One</uib-tab-heading>
<dave ng-if="active === index" recurse="true"></dave>
</uib-tab>
<uib-tab index=1>
<uib-tab-heading>Tab Two</uib-tab-heading>
<bob ng-if="active === index" recurse="true"></bob>
</uib-tab>
</uib-tabset>
</div>
我在 ui-bootstrap 选项卡中有两个递归指令。出于性能原因,我只想在相应选项卡处于活动状态时实际加载指令。所以我像这样在指令上使用 ng-if :
<dave ng-if="activeTab === 0"></dave>
...
<bob ng-if="activeTab= === 1"></bob>
现在,如果您转到选项卡 0,您会看到“dave”。然后转到选项卡 1,您会看到“bob”。返回选项卡 0,您仍然看到“bob”。如果我删除 ng-if 一切都按预期工作:dave、bob、dave。
我只需要在选项卡处于活动状态时才能呈现指令。我试过将指令放在 div 中并像这样使用 ng-if :
<div ng-if="activeTab === 0"><dave></dave></div>
但是还是有同样的问题
通过执行以下操作,我能够让选项卡正确地来回移动:
<div class="container" ng-app="app">
<uib-tabset active=activeTab>
<uib-tab index=0>
<uib-tab-heading>Tab One</uib-tab-heading>
<dave ng-if="active === index" recurse="true"></dave>
</uib-tab>
<uib-tab index=1>
<uib-tab-heading>Tab Two</uib-tab-heading>
<bob ng-if="active === index" recurse="true"></bob>
</uib-tab>
</uib-tabset>
</div>