Emberリンクで「アクティブ」クラスを設定したい場合は、ではなくのネストされた複数のルートに対してヘルパーに設定します。 すなわち私がroute1へのリンクを持っているなら、現在のルートがroute1またはroute2のときにアクティブにしたいと思います。EmberJS内の複数の異なるルートにリンク 'アクティブ'を設定するには
のようなもの、:私の次の理想的なシナリオを設定(または見つける。)ルートがアクティブであるブール、次にような何かをされて
{{#link-to 'route1' currentWhen="route1, route2"}}Things-N-Stuff{{/link-to}}
:
{{#link-to 'route1' class="isRoute1:active isRoute2:active"}}Not-as-good{{/link-to}}
しかし、私は」むしろそれを無料で手に入れてください。おそらくデフォルトのisRoutenameブール値がありますが、これはまだドキュメントにはありません...?
まだ回答がありません。
{{#linkTo "things" tagName="li" href=false}}
<a {{bindAttr href="view.href"}} {{bindAttr class="isThingsLinkActive:active"}}>Things</a>
{{/linkTo}}
そしてをApp.ApplicaitonController
isThingsLinkActive: function(){
return ['things.index','thing.index','stuff.index'].contains(this.get('currentPath'));
}.property('currentPath'),
にそれは私が各「オーバーロードされた」リンクのための私のアプリのコントローラで薄くなりのようなものを持っている必要があることを意味:私はこれをやってしまいました。 emberによって生成されたデフォルトのフラグ/属性を使用して、これをテンプレートで完全に取り込むのがよりクリーンではないでしょうか?私はよりエレガントなソリューションに誰かがオープンですか?
可能重複の[一度にEmberJS設定された複数のプロパティ] (http://stackoverflow.com/questions/8752805/emberjs-set-multiple-properties-at-once) –
@PaulSweatte私はこれらがまったく関連しているとは思わない。この質問は、リンク先ヘルパーと関係がある。もう1つはプロパティの設定です。私が間違っていて、setPropertiesを使って目標を達成する方法を理解することができます。私はそれをjsfiddleなどで見たいと思っています。 – genkilabs