javascript - 带有 queryParams 的 Ember TransitionTo 不起作用

标签 javascript ember.js

我是 ember 的新手,我正在尝试将 transitionTo 与 queryParams 一起使用,但我无法让它工作我尝试了很多解决方案,但我无法找出我的代码有什么问题。这是我要在两者之间转换的两条路线的代码:

1- index.js:

export default Ember.Route.extend({
 setupController: function(controller, model) {
 this._super(controller, model);
 controller.set("model", model);
 },
 model() {
  return {
   searchQuery: ""
  };
 },
 actions: {
  search() {
   const query = this.controller.get("model.searchQuery");
   this.transitionTo("/search-results", {
     queryParams: {
       q: query
     }
   });
  }
 }
});

2-search-results.js:

export default Ember.Route.extend({
 model() {
  return {
   fieldsInput: []
  };
 },
 setupController: function(controller, model) {
  this._super(controller, model);
  controller.set("model", model);
 }
});

不知道还有什么要补充的。我尝试在 Controller 上设置 queryParams 但它也不起作用。另外,我尝试添加

  queryParams: {
   q: ""
  },

到搜索结果路线但没有用。

最佳答案

当您为 transitionTo 方法提供 url 时,您需要通过构造包含 queryParams 来提供完整的 URL。这会起作用

this.transitionTo(`/search-results?q=${query}`);

正如您在评论中提到的,您没有在路由中指定 queryParams 属性。

关于javascript - 带有 queryParams 的 Ember TransitionTo 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47491061/

相关文章:

javascript - Firebase js库从非空数据库检索空数据

javascript - 数据刷新后保留最后一个 Flot 十字准线和图例数据

javascript - HTML "link"(样式表)禁用属性

javascript - 返回搜索 promise

ember.js - 像 get 和 mut 这样的绑定(bind)助手?如何将输入绑定(bind)到动态指定的属性?

javascript - 使用没有模板脚本标签的 ember.js

javascript - 如何在 node.js selenium-webdriver 中模拟右键单击?

javascript 原型(prototype)设计 : why doesn't this work?

ember.js - ember 数据适配器中的动态段

javascript - 将模型的属性渲染为 HTML 页面标题