【问题标题】:How to fetch query parameters in a template?如何在模板中获取查询参数?
【发布时间】:2016-05-11 22:58:09
【问题描述】:

我正在使用 Meteor 1.2.1 + Iron-router 并打开了自动发布

我想根据帮助器返回的集合值构造一个锚href 查询参数

是否可以在模板标签中执行此操作,例如query_param1 应该从 URL 中读取?

<template name="dataEntry">
  {{#each data}}
    <li>
      <a href="/listing?name={{name}}&color=<query_param1>">
       Data name
      </a>
    </li>
  {{/each}}
</template>

在上面,{{name}} 由集合返回,查询参数附加到该集合以创建href 的完整超链接。

【问题讨论】:

  • 不是真的 - 让我重新表述一下这个问题
  • 我认为客户端上没有 url 解析器,如果这就是你的意思。您需要自己解析 url 搜索查询,但有大量的 javascript sn-ps 用于此目的。获得值后,您只需从帮助程序中返回它并在模板中使用该帮助程序。

标签: meteor iron-router meteor-blaze


【解决方案1】:

您可以像这样使用@Stephen 的建议。

在您的模板 html 中,

     <template name="dataEntry">
        {{#each data}}
            <li>
                <a href="/listing?{{queryParams}}">
                    Data name
                </a>
            </li>
        {{/each}}
    </template>

在你的模板 JS 中,

Template.dataEntry.helpers({
   "queryParams": function () {
       var name = "";
       //get name from collection here like...
       //name = Meteor.user().profile.firstName;
       var color = Router.current().params.color;
       return "name=" + name + "&color=" + color;
    }
});

或者你可以使用两个单独的助手

在您的模板 html 中,

     <template name="dataEntry">
        {{#each data}}
            <li>
                <a href="/listing?name={{name}}&color={{color}}">
                    Data name
                </a>
            </li>
        {{/each}}
    </template>

在你的模板 JS 中,

Template.dataEntry.helpers({
   "name": function () {
       var name = "";
       //get name from collection here like...
       //name = Meteor.user().profile.firstName;
       return name;
    },
   "color": function () {
       return Router.current().params.color;
    }
});

【讨论】:

  • 谢谢 - 就是这样 - 2 个单独的帮助器,一个用于集合,另一个用于返回查询参数 - 我可以在模板中连接它们
【解决方案2】:

您可以通过帮助程序访问 IronRouter 参数,例如:

Router.current().params.query_param1

【讨论】:

  • 是的,我知道 - 超链接需要由当前 URL 中的路由和查询参数中的属性值组成
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多