2017-01-13 107 views
2

我想用查詢參數打開一個新的視角。Ember路由查詢參數

這意味着在我的index.hbs我點擊一個按鈕從輸入字段獲取值。 後,我將在我的情況下,地圖視圖,路徑與查詢參數「/圖」像

localhost:4200/map/?search=xyz 

新開的航線,當我在我的索引控制器做:

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

,並在我的路線

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

我得到我的索引網址瞬間

/?location=xcyxyx 

,但我想在我的地圖路線

localhost:4200/map/?search=xyz 

回答

1

定義search屬性index.js控制器,使用它爲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
定義queryParams search與refreshModel真,那麼這將迫使發射beforeModelmodelafterModel掛鉤search財產變更。

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

適合我 – Fesco