在1.7 Ember应支持查询参数。我没有问题在控制器中使用它们,但我想在Route中访问它们,理想情况是在beforeModel钩子中,但模型钩子也可以。如何从Ember中的路由访问查询参数1.7
API docs提到了beforeModel钩子的quereyParam参数,但如果我尝试使用它,它总是未定义的。
Query Parameters guide似乎表明查询参数应作为模型钩子的第一个参数的一部分进行访问。但是这也没有定义。有关示例,请参阅下面的代码。
有没有办法从路由访问查询参数? 谢谢你的帮助。
App.ApplicationRoute = Em.Route.extend({
beforeModel: function(transition, queryParams){
console.log(queryParams.test); //undefined at /?test=123
},
model: function(params){
console.log(params.test); //undefined at /?test=123
}
});
你应该能够将它从模型钩子中的'params'对象中拉出来。请参阅:http://emberjs.jsbin.com/necid/1/edit?html,js,console,output您是否将'test'设置为控制器中的queryParam? – tikotzky 2014-09-19 22:34:38
谢谢,就是这样。我从来没有想到Controller可能会影响Route。我认为该设置仅用于直接在Controller中访问queryParams。 – jancervinka 2014-09-20 15:26:42