Ich möchte die ‚aktive‘ Klasse auf einem Ember Link setzen für mehr als eine Route Helfer, wo die Routen sind nicht verschachtelt. dh. Wenn ich eine Verbindung zu Route1 habe, möchte ich, dass sie aktiv ist, wenn die aktuelle Route Route1 oder Route2 ist.So richten Link ‚aktiv‘ für mehrere verschiedene Routen in EmberJS
Etwas wie:
{{#link-to 'route1' currentWhen="route1, route2"}}Things-N-Stuff{{/link-to}}
Mein nächstes ideales Szenario gesetzt (oder finden) einen boolean, wenn die Route aktiv ist und dann so etwas wie:
{{#link-to 'route1' class="isRoute1:active isRoute2:active"}}Not-as-good{{/link-to}}
Aber ich Ich hebe es lieber kostenlos auf. Vielleicht gibt es einen Standardwert isRoutename boolean, der noch nicht in der Dokumentation ist ...?
Noch keine Antworten. Ich landete dies zu tun:
{{#linkTo "things" tagName="li" href=false}}
<a {{bindAttr href="view.href"}} {{bindAttr class="isThingsLinkActive:active"}}>Things</a>
{{/linkTo}}
Und dann in der App.ApplicaitonController
isThingsLinkActive: function(){
return ['things.index','thing.index','stuff.index'].contains(this.get('currentPath'));
}.property('currentPath'),
Es bedeutet, dass ich so etwas wie thins in meiner app-Controller für jeden 'überlastet' Link haben müssen. Wäre es nicht sauberer, dies vollständig in der Vorlage zu erfassen, indem Sie die von ember generierten Standard-Flags/-Attribute verwenden? Ich bin offen für eine elegantere Lösung ... irgendjemand?
möglich Duplikat [EmberJS Set mehrere Eigenschaften auf einmal] (http://stackoverflow.com/questions/8752805/emberjs-set-multiple-properties-at-once) –
@PaulSweatte Ich glaube nicht, dass diese überhaupt verwandt sind. Diese Frage hat mit dem Link-to-Helfer zu tun. Der andere betrifft das Festlegen von Eigenschaften. Wenn ich falsch liege und Sie herausfinden können, wie man setProperties verwendet, um das Ziel zu erreichen, würde ich es gerne in einer JSFiddle oder so etwas sehen. – genkilabs