Ember.js - route忽略作为哈希传入的查询参数?

时间:2018-06-06 20:05:42

标签: javascript 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”已成功登录到控制台,但第二个记录为“undefined”。我调试了代码并看到params包含hashparam的密钥,但其值为undefined。我无法弄清楚为什么,因为据我所知,上面的请求使用正确的格式来传递散列键和值。我还在我的路线中添加了beforeModel个钩子,以便我可以调查传入的Transition,我发现queryParams包含一个名为hashparam[][foo]且值为'bar'的密钥。

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

1 个答案:

答案 0 :(得分:1)

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