在嵌套配置的根状态上停用 Ui-路由器的 ui-sref-active

Deactivating Ui-router's ui-sref-active on root state on a nested configuration

我有 2 个按钮并且都有 ui-sref-active。

<a class="button" ui-sref-active="button-selected" ui-sref="main">
    <p>View patients</p>
</a>
<a class="button" ui-sref-active="button-selected" ui-sref="main.create">
    <p>Add patients</>
</a>

和css

.button-selected {
    color: #0000FF;
}

我想知道为什么当我单击状态为 "main.create" 的第二个按钮时,class "button-selected" 没有从第一个按钮中删除。所以颜色 #0000FF 仍然出现在第一个按钮上。看起来 "main" 状态始终处于活动状态。是因为它是根状态吗?解决方法是什么?

class 已添加到两种状态,因为您应该使用 ui-sref-active-eq 而不是 ui-sref-active

<a class="button" ui-sref-active-eq="button-selected" ui-sref="main">
    <p>View patients</p>
</a>
<a class="button" ui-sref-active-eq="button-selected" ui-sref="main.create">
    <p>Add patients</>
</a>