【发布时间】:2016-02-02 19:09:20
【问题描述】:
我已经使用 angular material 实现了选项卡,其中我有 md-tabs,其中包含单独的 md-tab 指令。
我在 md-tabs 中有 2 个 md-tab 指令,如下所示:
<md-tab label="Home">
<div class="demo-tab tab{{$index%4}}" id="scrollable-tabs">
<p>Display all the recommnedations</p>
</div>
</md-tab>
<md-tab ng-repeat="cat in categories"
ng-disabled="cat.disabled"
label="{{cat.title}}"
md-on-select="fetchCategoryProducts(cat.id)">
<div class="demo-tab tab{{$index%4}}" id="scrollable-tabs">
<p>Display tab specific content</p>
</div>
</md-tab>
可以看出,第一个 md-tab 是静态的。下一个 md-tab 通过控制器在类别数组上使用 ng-repeat 生成更多选项卡。
问题是,由 ng-repeat 生成的第一个选项卡会被自动选中。我从 fetchCategoryProducts(cat.id) 了解到这一点,在我选择该选项卡之前会自动调用它。我打算仅在单击选项卡时调用此函数。
虽然,当 md-tabs 被渲染时,Home 选项卡被视为处于活动状态。当我查看页面时,一切似乎都很好。不知何故,在内部选择了 ng-repeat 生成的第一个选项卡。
那么,如何停用 ng-repeat 生成的第一个选项卡?实际上,只有静态选项卡(即主页)应该在开始时处于活动状态,并且在生成时应该取消选择其余选项卡。
【问题讨论】:
标签: angularjs angular-material