我正在尝试在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检查器中看到sortKey
属性已更改为正确的新值,但URL保持不变。我错过了什么吗?
答案 0 :(得分:0)
您的问题是您正在尝试在运行时自定义控制器类。
每次用户访问路线时,您都会重新打开控制器,这太荒谬了。
只需使用mixin扩展控制器定义,就可以了。