活动子状态在不应该使用 ng-class 和 ui-router 时保持活动状态

Active child state stays active when it shouldn't using ng-class and ui-router

我目前正在使用 ui-router 处理嵌套状态(具有许多嵌套状态),并且可以像这样使用 ng-class 将状态更改为活动状态

ng-class="{active:$state.includes('sidemenu.parent.child<1-3>')}"

但是我喜欢将多个状态添加到活动 class 并像这样实现

`ng-class="{active:[$state.includes('sidemenu.parent.child1'),$state.includes('sidemenu.parent.grandchild1')]}" 

它可以工作,但是当我点击退出状态时它会保持活动状态。我创建了这个 codepen。看起来是这样。

如果 child1 选项卡在 child2child3 状态下未激活,我会喜欢它。

只是好奇,你从哪里得到以下语法

ng-class="{active:[$state.includes('sidemenu.parent.child1'),$state.includes('sidemenu.parent.grandchild1')]}"

如果您将上面的 ng-class 的值更改为以下值,我希望它应该能达到您的要求。

{active:$state.includes('sidemenu.parent.child1') ||  $state.includes('sidemenu.parent.grandchild1')}