如何仅在 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获取active
class?
基本上我不希望第一个 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.
我有两条这样嵌套的路线。
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获取active
class?
基本上我不希望第一个 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.