如何仅在 ember js 中为确切路线而不是父路线添加活动 class?

How to add active class only for exact routes and not parent routes in ember js?

我有两条这样嵌套的路线。

router.js

this.route('profile', function() {
  this.route('edit');
});

和几个导航栏 link 像这样的这些路线..

navbar.hbs

{{#link-to 'profile' tagName="li"}}<a href>View Profile</a>{{/link-to}}
{{#link-to 'profile.edit' tagName="li"}}<a href>Edit Profile</a>{{/link-to}}

link-to 助手将 active class 添加到此处的 li 标签。所以当我在 profile 路线时,第一个 link 有 active class 而当我在 profile.edit 路线时, links有 active class。 (显然是因为访问 profile.edit 时两条路线都被激活了。)

如何在子路由中避免父路由link获取activeclass?

基本上我不希望第一个 link(到 profile)在 profile.edit 路线中有 active class。

我知道是否还有其他人面临同样的问题。

我刚刚将 link 更改为 profile 并使其显式 profile.index

navbar.hbs

{{#link-to 'profile.index' tagName="li"}}<a href>View Profile</a>{{/link-to}}
{{#link-to 'profile.edit' tagName="li"}}<a href>Edit Profile</a>{{/link-to}}

这样,当在 profile.edit 路由中时,第一个 link 不会得到 active class.