Ember.js - 路由忽略作为散列传入的查询参数?
Ember.js - route ignores query params passed in as hashes?
我正在构建一条路由,用于接收多个查询参数,其中一个是哈希:
http://www.test.com/foo/bar?first_name=Johnny&hashparam[][foo]=bar
控制器:
export default Ember.Controller.extend({
queryParams: ["first_name", "hashparam"]
});
路线:
export default Ember.Route.extend({
model(params) {
console.log(params.first_name);
console.log(JSON.stringify(params.hashparam));
}
});
对于上面的示例请求,"Johnny" 成功记录到控制台,但第二个记录 "undefined"。我调试了代码,发现 params
包含 hashparam
的键,但其值为 undefined
。我不明白为什么,因为据我所知,上面的请求使用正确的格式来传递哈希键和值。我还在我的路由中添加了一个 beforeModel
挂钩,以便我可以调查传入的 Transition
,我看到 queryParams
包含一个名为 hashparam[][foo]
的键,值为 'bar'
。
这是怎么回事?我做错了什么吗?
您没有提供 hashparam
的密钥,您提供的是 hashparam[][foo]
的密钥。
我正在构建一条路由,用于接收多个查询参数,其中一个是哈希:
http://www.test.com/foo/bar?first_name=Johnny&hashparam[][foo]=bar
控制器:
export default Ember.Controller.extend({
queryParams: ["first_name", "hashparam"]
});
路线:
export default Ember.Route.extend({
model(params) {
console.log(params.first_name);
console.log(JSON.stringify(params.hashparam));
}
});
对于上面的示例请求,"Johnny" 成功记录到控制台,但第二个记录 "undefined"。我调试了代码,发现 params
包含 hashparam
的键,但其值为 undefined
。我不明白为什么,因为据我所知,上面的请求使用正确的格式来传递哈希键和值。我还在我的路由中添加了一个 beforeModel
挂钩,以便我可以调查传入的 Transition
,我看到 queryParams
包含一个名为 hashparam[][foo]
的键,值为 'bar'
。
这是怎么回事?我做错了什么吗?
您没有提供 hashparam
的密钥,您提供的是 hashparam[][foo]
的密钥。