使用表格数据:
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>
我希望_id
模板中的book
引用用户的_id
,但_id
不在book
模板的范围内。我希望能够执行类似{{> book _id}}
的操作,但这不起作用,我认为因为book
只能有一个参数,那就是每个{name: 'book1'}
doc。< / p>
答案 0 :(得分:1)
使用自定义块助手。如果Meteor允许自定义块助手的多个参数(这在Handlebars中支持)会更好。由于它没有(请参阅the wiki),这是我提出的最佳结果,将修改后的this
传递给子模板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