【问题标题】:How to toggle ui-sref active/inactive link ui-router如何切换 ui-sref 活动/非活动链接 ui-router
【发布时间】:2016-07-29 11:45:23
【问题描述】:

考虑以下几点:

   <ul>
        <li id="dashboard" data-ui-sref-active="selected">
            <a data-ui-sref="home">Dashboard</a>
        </li>
<li id="jobs" data-ui-sref-active="selected">
        <a data-ui-sref="home.foo">Foos</a>
        <ul>
            <li data-ui-sref-active="selected">
                <a data-ui-sref="home.foo.foo1">Foo 1 list</a>
            </li>
            <li data-ui-sref-active="selected">
                <a data-ui-sref="home.foo.foo2">Foo 2 list</a>
            </li>
        </ul>
    </li>
</ul>

问题是如果用户当前点击另一个链接,这个“仪表板”链接状态仍然处于活动状态。

当用户单击仪表板或单击另一个链接时,如何切换仪表板的活动/非活动状态

更新:

我已经尝试过这个 ui-sref-active-eq 并且它确实有效,但是我无法将此状态设置回活动

【问题讨论】:

  • 我在回答中添加了一个 plnkr。

标签: angularjs angular-ui-router


【解决方案1】:

那是因为您处于home 状态的子状态,因此它将始终处于活动状态。

改用ui-sref-active-eq

根据文档:

将在 ui-sref 的目标状态或任何子状态处于活动状态时激活。如果您只需要在 ui-sref 目标状态处于活动状态而不是它的任何子状态时才需要激活,那么您将使用 ui-sref-active-eq

编辑:在Plnkr 中添加以供参考。

【讨论】:

  • 我已经尝试过了,但这会使我的链接无法点击,也不能满足我的父母需要激活的要求
  • @Harry 它应该可以工作。也许您使用了错误的语法?附上一个plnkr供参考。
  • 谢谢,我只在父级而不是子级上实现了 -eq。它有效:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-16
  • 2019-03-22
  • 2018-01-31
  • 2016-07-19
  • 2017-08-31
相关资源
最近更新 更多