Ember.js 余烬查询参数取消设置查询参数
我正在使用新的余烬查询参数,并且存在“取消设置”查询参数的问题 我有一个场景,我需要从如下内容导航:?游戏=13到?问题=14。 这意味着我的路由器上有两个查询参数:游戏,问题。不幸的是,这种转变(来自于?游戏=13): 不幸的是,这导致: 游戏=13,问题=14 我也尝试过:Ember.js 余烬查询参数取消设置查询参数,ember.js,Ember.js,我正在使用新的余烬查询参数,并且存在“取消设置”查询参数的问题 我有一个场景,我需要从如下内容导航:?游戏=13到?问题=14。 这意味着我的路由器上有两个查询参数:游戏,问题。不幸的是,这种转变(来自于?游戏=13): 不幸的是,这导致: 游戏=13,问题=14 我也尝试过: this.transitionToRoute({queryParams: {question: 14, game: null}} ); 这导致: ?游戏=null,问题=14 因为不知何故,一切都改变了 如何转换到?q
this.transitionToRoute({queryParams: {question: 14, game: null}} );
这导致:
?游戏=null,问题=14
因为不知何故,一切都改变了
如何转换到?question=14并删除游戏查询参数?尝试在控制器中为查询参数设置默认值。之后你可以做:
this.transitionToRoute({queryParams: {question: 14, game: <the default value that you set in the controller>}} );
this.transitionRoute({queryParams:{问题:14,游戏:}});
将存储查询参数的属性初始化为某个值。将它们设置回此初始值,以便稍后从URL中删除它们:
App.SomeController = Ember.Controller.extend({
queryParams: ['myParam'],
myParam: "initial",
...
);
后来
controller.set('myParam', "initial");
这不起作用,因为默认值为null。但当我提供null作为值时,它被转换为“null”(作为字符串),然后我得到:?game=null&question=14Try“”而不是null。为我工作!
controller.set('myParam', "initial");
var params = {};
if(this.get('controller.question') params.question = this.get('controller.question');
if(this.get('controller.game') params.game = this.get('controller.game');
this.transitionToRoute({queryParams: params} );