在我的应用程序中,有不止一种方法可以路由到特定资源,例如,我获得了面包屑,以便能够更自由地在项目层次结构中导航
SectionA > SectionB > SectionC
哪里SectionA
有id=1
等等。同时我routerLink
在我的侧边菜单中找到了当前选择的项目,在上面的例子中它指向SectionC
( id=3
)。我通过在有人点击面包屑时发出一个事件来保持这些同步,然后id
将事件绑定到routerLink
我的侧边菜单中:
<li>
<a [routerLink]="['/section, section? section.id : 0]" [routerLinkActive]="['active']"></a>
</li>
这样,如果用户导航离开该组件,他们只需单击侧面菜单中的按钮即可返回到相同的状态(而不必从头开始导航到他们的目标部分)。
这实际上工作正常,但是,如果我浏览面包屑(并因此使用section
从上面的绑定)routerLinkActive
不会触发,尽管当前 URL 和侧菜单按钮上的 URL 是相同的。
只有当我直接单击侧面菜单按钮时才active
应用该类,它不能通过绑定起作用。
它适用于没有参数的 URL(那里没有绑定),所以我想这与 Angular 的更改检查有关。
问题是,这是预期的行为吗?如果是,我应该怎么做才能让它正常工作?