代码之家  ›  专栏  ›  技术社区  ›  Argus9

js-route忽略作为散列传入的查询参数?

  •  0
  • Argus9  · 技术社区  · 6 年前

    我正在构建一条路由,该路由将接受多个查询参数,其中一个参数是散列:

    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] 有价值 'bar' .

    这里怎么了?我做错什么了吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Chris de Almeida    6 年前

    你没有提供 hashparam ,您提供了 hashparam[][foo] .