如何在模板中获取查询参数?

How to fetch query parameters in a template?

我正在使用 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 的完整超链接。

您可以通过助手访问 IronRouter 参数,例如:

Router.current().params.query_param1

您可以像这样使用@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;
    }
});