【问题标题】:How to get _id value in Meteor template如何在 Meteor 模板中获取 _id 值
【发布时间】:2016-07-01 10:33:53
【问题描述】:

这是我的模板 sn-p。

{{#if is_multiple_choice _id}}
  <div class="row" style="margin-bottom: 20px;">
    <div class="input-field col s11">
      <select id="ans_{{_id}}" name="answer" class="multiple_choice_answer">
        <option value="">No Answer Given for Multiple Choice</option>
      {{#each allowed_values}}
        {{#if matched value _id}}
          <option value="{{value}}" selected>{{value}}</option>
        {{else}}
          <option value="{{value}}">{{value}}</option>
        {{/if}}
      {{/each}}
      </select>
      <label>{{text}}</label>
    </div>
  </div>
{{/if}}

所以我打算在“匹配”帮助器中使用 _id,但匹配值 _id 行中的 _id 似乎什么都没有。

我怎样才能获得 _id 并在“匹配的”助手中使用它?

请帮帮我!!!

【问题讨论】:

  • 在#each 循环中,您处于一个寒冷的上下文中,因此要访问父上下文,您需要../_id 或在模板助手中您可以返回Template.instance().data._id
  • 您好 MrE,您的回答很有价值,所以我想将您的回答标记为可以接受,请发布答案而不是评论。

标签: templates meteor


【解决方案1】:

{{#each}} {{/each}} 循环中,您处于上下文

要访问 parent 上下文,您需要使用 .. 表示法,例如:../_id

您也可以在 Template.helper 中使用this 来获取this._id

Template.example.helper({
    "id": return this._id;
});

然后您可以在模板中的任何位置使用id

注意:

1) this._id 等价于助手中的Template.instance().data._id

使用Template.instance().data 访问eventonCreatedonRendered 中的模板数据上下文。

2) .. 符号也可用于访问祖父模板,例如 ../../_id

.. 模式可以从同一模板中的{{#each}} 循环访问父上下文,但不建议与子模板一起使用(访问父模板),因为您的子模板不可重用没有父模板上下文。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-10
    • 2015-06-09
    • 2016-04-02
    • 2016-02-21
    • 1970-01-01
    • 2015-05-27
    • 2017-07-30
    相关资源
    最近更新 更多