【问题标题】:Ember queryParams not updating URLEmber queryParams 未更新 URL
【发布时间】:2015-06-11 19:11:39
【问题描述】:

我正在尝试在 Ember 控制器中设置 queryParams,但它们似乎根本没有更新 URL。

我将这个缩写的 mixin 应用于路由:

import Ember from 'ember';
import ControllerPaginationMixin from './controller-pagination';

export default Ember.Mixin.create({
  setupController(controller, model) {
    this._super(controller, model);

    controller.reopen(ControllerPaginationMixin);
  }
});

这是上面应用的缩写控制器 mixin:

import Ember from 'ember';

export default Ember.Mixin.create({
  sortKey: null,
  queryParams: ['sortKey'],
  actions: {
    sort(key) {
      this.set('sortKey', key);
  }
});

当我从组件调用 sort 方法时,我可以在 Ember Inspector 中看到 sortKey 属性已更改为正确的新值,但 URL 保持不变。我错过了什么吗?

【问题讨论】:

  • key是String类型的?
  • 正确,例如:“描述”
  • 能否提供简单的jsbin,好吗? emberjs.jsbin.com

标签: ember.js


【解决方案1】:

您的问题是您试图在运行时自定义控制器类。

每次用户访问路由时你都会重新打开控制器,这太荒谬了。

只需使用 mixin 扩展控制器定义即可。

【讨论】:

  • 是的。 ^^ 那个。 export Default ControllerPaginationMixin.extend(...) 代替。但是我在这里的“缩写”中有什么遗漏吗? setupControllerreopen 甚至 在做什么 是什么?好像没什么。甚至没有继承。
猜你喜欢
  • 2015-04-08
  • 1970-01-01
  • 2012-06-05
  • 1970-01-01
  • 1970-01-01
  • 2018-05-01
  • 2014-01-04
  • 2014-03-01
  • 1970-01-01
相关资源
最近更新 更多