【发布时间】:2016-03-22 05:51:44
【问题描述】:
在我的 Ember 应用程序中,我有带有组的导航栏。每个唯一项目在栏中出现两次:在其自己的组中和在“所有项目”组中:
如果用户选择第 3 项,则两个链接都会通过获取active CSS 类变为活动状态:
如何更改我的代码以使用户单击的链接变为活动状态?如果用户手动打开 /item/3 URL,则只有第一个链接应该是活动的。
到目前为止,这是我的代码:http://jsbin.com/yidofayoma/3/edit?html,js,output
var App = Ember.Application.create({
rootElement: '#app'
});
App.Router.map(function() {
this.route('item', { path: '/item/:item_id' });
});
App.ItemRoute = Ember.Route.extend({
model: function(params) {
return params.item_id;
}
});
导航栏模板:
<ul>
<li>{{#link-to "index"}}Index{{/link-to}}</li>
<li>
All items
<ul>
<li>{{#link-to "item" 1}}Item 1{{/link-to}}</li>
<li>{{#link-to "item" 2}}Item 2{{/link-to}}</li>
<li>{{#link-to "item" 3}}Item 3{{/link-to}}</li>
<li>{{#link-to "item" 4}}Item 4{{/link-to}}</li>
<li>{{#link-to "item" 5}}Item 5{{/link-to}}</li>
</ul>
</li>
<li>
Group A
<ul>
<li>{{#link-to "item" 1}}Item 1{{/link-to}}</li>
<li>{{#link-to "item" 2}}Item 2{{/link-to}}</li>
<li>{{#link-to "item" 3}}Item 3{{/link-to}}</li>
</ul>
</li>
<li>
Group B
<ul>
<li>{{#link-to "item" 4}}Item 4{{/link-to}}</li>
<li>{{#link-to "item" 5}}Item 5{{/link-to}}</li>
</ul>
</li>
</ul>
<hr />
{{outlet}}
Ember 版本:2.4.2
【问题讨论】:
-
CSS 可以在这种情况下为您提供帮助。添加不同级别的活动菜单的不同CSS。因此菜单将具有活动类,但看起来不活动
-
@murli2308 好主意,但我想让用户点击菜单中的任何链接并使其处于活动状态。
标签: ember.js