灰烬路线查询参数

时间:2017-01-13 20:33:52

标签: ember.js

我想用查询参数打开一个新的视角。

这意味着在我的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

2 个答案:

答案 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,然后这将强制触发beforeModelmodelafterModel挂钩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时如何指定查询参数。希望这会有所帮助。