2017-01-13 15 views
2

私はクエリのparamsで新しいパースペクティブを開きたいと思います。Ember Route Query Params

つまり、私のindex.hbsでは、ボタンをクリックすると入力フィールドから値を取得します。 私は私のインデックスコントローラで行うとき、その後、私は

localhost:4200/map/?search=xyz 

のようなクエリのparamsとパス「/マップ」で私の場合マップビューで新しいルートを開きます:

queryparams:['location'], 
location:null, 

と私でルート

actions:{ 
    search(location){ 
     this.transitionTo('map-view'); 
    } 
} 

私は即座に

/?location=xcyxyx 
私のインデックスのURLに乗ります

しかし、私はqueryparamは、それはあなたがあなたのURLに示す欲しいものであることから「検索」されようとしている私の地図ルート

localhost:4200/map/?search=xyz 

答えて

1

index.jsコントローラにsearchプロパティを定義し、queryParams値をmap-viewに移行するために使用します。

index.hbs

{{input value=search}} 
<br /> 
<button {{action 'transitionToLocation'}}> Search</button> 

コントローラ/ index.js - transitionToRoute

import Ember from 'ember'; 
export default Ember.Controller.extend({ 
    search:'india', 
    actions:{ 
    transitionToLocation(){ 
     this.transitionToRoute('map-view',{queryParams: {search: this.get('search')}}); 
    } 
    } 
}); 

ルート/マップ-view.js
が、これは強制的に真refreshModelとqueryParams searchを定義します参照してください。 beforeModelmodelafterModelフックsearchプロパティの変更。

import Ember from 'ember'; 
export default Ember.Route.extend({ 
    queryParams:{search: {refreshModel:true}}, 
}); 
+0

は私にとって問題ありません – Fesco

0

にしたいです。

構文は、上で見つけることができます。また、ダウン、そのページ上の https://guides.emberjs.com/v2.10.0/routing/query-params/

、それはtransitionToを使用するときにクエリパラメータを指定する方法を示しています。お役に立てれば。

関連する問題