【问题标题】:Can we deselect all <md-tab>s when they are rendered?我们可以在渲染时取消选择所有 <md-tab> 吗?
【发布时间】: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


    【解决方案1】:

    尝试将 md-active 添加到“主页”选项卡以激活主页选项卡。

    <md-tab label="Home" md-active="true"> 
    

    【讨论】:

      猜你喜欢
      • 2020-03-14
      • 1970-01-01
      • 2016-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-17
      • 1970-01-01
      相关资源
      最近更新 更多