0

使用表格数据:

users = 
  _id: 'foo'
  books: [
    {name: 'book1'}
    {name: 'book2'}
  ]

 

<template name="user">
  {{#each get_users}}
    {{> shelf}}
  {{/each}}
</template>

<template name="shelf">
  {{#each books}}
    {{> book}}
  {{/each}}
</template>

<template name="book">
  <div contenteditable="true" data-id="{{_id}}">{{name}}</div>
</template>

我想_idbook模板中引用_id用户的,但_id不在book模板内的范围内。我希望能够做类似的事情{{> book _id}},但这不起作用,我认为因为book只能有一个论点,那就是每个{name: 'book1'}文档。

4

1 回答 1

1

使用自定义块助手。如果 Meteor 允许自定义块助手的多个参数会更好(这在 Handlebars 中得到支持)。因为它没有(请参阅wiki),这是我想出的最好的方法,将修改后this的内容传递给 subtemplate book

<template name="shelf">
  {{#my_iterator}}
    {{> book}}
  {{/each}}
</template>

 

Templates.shelf.my_iterator = (options) ->
  html = "
  for book in this.books
    this.name = book.name
    html += options.fn this
  html
于 2013-11-18T23:35:55.933 回答