In my Ember app I have navigation bar with groups. Each unique item appears twice in the bar: in its own group and in "All Items" group:
If user selects Item 3 both links become active by getting active
CSS class:
How can I change my code so that the link that user has clicked on becomes active? If user opens /item/3 URL manually the first link only should be active.
Here is my code so far: http://ift.tt/1pZ5yfC
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;
}
});
Navigation bar template:
<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 version: 2.4.2
Aucun commentaire:
Enregistrer un commentaire