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

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]的密钥。

10-06 15:18