2017-02-10 3 views
0

にリンクしてクエリのparamsパラメータとしてオブジェクトを渡す、私は、
Route.transitionTo機能を使用して

this.transitionTo('posts', {queryParams: {sort: 'title'}}); 

だから、私は、オブジェクトを持っていると言う呼び出すことができます

qpms={sort:'title'} 

今、私は、テンプレートでは、

this.transitionTo('posts',{queryParams:qpms}); 

私もそれを知って、それを作ることができます

{{#link-to 'posts' (query-params qpms)}}text{{/link-to}} 

代わりに、

{{#link-to 'posts' (query-params sort="title")}}text{{/link-to}} 

動作しません。

Route.transitionTo関数で提供されているのと同じ効果を得るには、リンク先ヘルパーでいくつかの方法がありますか?

ポストコントローラでは、私はまだ

queryParams: ['sort'], 
sort: null, 

、としてそれを得ることができるように?

+0

をご覧くださいてくださいは、より多くのコードを配置しました。 – Shayan

答えて

1

を返すことをあなたはできませんでしたすることはできません。

query-paramsの現在の実装では、それを達成できませんでした。

しかし、自分で仕事をするヘルパーを作成することができます。私ははっきりとあなたを理解できるように、

this twiddle

0

私はあなたが修正理解していれば、あなたはまた、あなたがqpmsControllerRouteまたはComponentで定義されなければならないことを確認してくださいテンプレート

{{#link-to 'posts' qpms}}text{{/link-to}}

上のように渡すのparamsを使用することができます。以下のように怒鳴る

// Component 
export default Ember.Component.extend({ 
    qpms: {sort: 'title'}, 
}) 
// Controller 
export default Ember.Controller.extend({ 
    qpms: {sort: 'title'}, 
}) 

OR
http://site/#/url/params/SORT

export default Ember.Route.extend({ 
    model(params){ 
     return params; 
    } 
}); 

注::コードの上に、それは必要ない、エンバーは、自動的にURLのparams

+0

あなたの例はダイナミックセグメント用で、クエリパラメータではない –

+0

ですので、Route(URL)からパラメータを取得しますか? – Shayan

関連する問題