首页 > 解决方案 > Ember.js - 路由忽略作为哈希传入的查询参数?

问题描述

我正在构建一条用于接收多个查询参数的路由,其中​​一个是哈希:

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”成功登录到控制台,但第二个记录“未定义”。我调试了代码,发现其中params包含一个键,hashparam但它的值是undefined. 我不知道为什么,因为据我所知,上面的请求使用正确的格式来传递哈希键和值。我还在beforeModel路由中添加了一个钩子,这样我就可以调查传入的内容Transition,我看到其中queryParams包含一个名为hashparam[][foo]value的键'bar'

这里有什么问题?难道我做错了什么?

标签: javascriptember.js

解决方案


您没有提供 的密钥hashparam,您提供的是 的密钥hashparam[][foo]


推荐阅读