Nella mia app Ember ho una barra di navigazione con gruppi. Ogni pezzo unico appare due volte nel bar: nel proprio gruppo e in "All Items" gruppo:Creazione di un singolo {{link-to}} attivo in Ember
Se l'utente seleziona Articolo 3 entrambi i collegamenti diventano attive ottenendo classe active
CSS:
Come posso modificare il mio codice in modo che il collegamento su cui l'utente ha fatto clic sia attivo? Se l'utente apre/item/3 URL manualmente, dovrebbe essere attivo solo il primo link.
Ecco il mio codice finora: 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;
}
});
navigazione modello bar:
<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 versione: 2.4.2
I CSS possono aiutarti in questo caso. aggiungi diversi css di diverso livello di menu attivi. quindi i menu avranno classe attiva ma non sembrerà attivo – murli2308
@ murli2308 Buona idea ma voglio consentire agli utenti di fare clic su ** qualsiasi ** collegamento nel menu e renderlo attivo. –