我想用查询参数打开一个新的视角。
这意味着在我的index.hbs中,我点击一个按钮从输入字段中获取值。 之后,我将在我的案例地图视图中打开一条新路线,路径为“/ map”,并带有查询参数,如
localhost:4200/map/?search=xyz
当我在我的索引控制器中时:
queryparams:['location'],
location:null,
和我的路线
actions:{
search(location){
this.transitionTo('map-view');
}
}
我立即登录我的索引网址
/?location=xcyxyx
但我想在我的地图路线上
localhost:4200/map/?search=xyz
答案 0 :(得分:3)
在search
控制器中定义index.js
属性,将其用于queryParams
值转换为map-view
路由。
index.hbs
{{input value=search}}
<br />
<button {{action 'transitionToLocation'}}> Search</button>
controllers / 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
,然后这将强制触发beforeModel
和model
和afterModel
挂钩search
属性更改。
import Ember from 'ember';
export default Ember.Route.extend({
queryParams:{search: {refreshModel:true}},
});
答案 1 :(得分:0)
queryparam将是“搜索”,因为这是您希望在URL中显示的内容。
语法可以在以下位置找到: https://guides.emberjs.com/v2.10.0/routing/query-params/
在该页面上,它显示了在使用transitionTo时如何指定查询参数。希望这会有所帮助。