【发布时间】:2015-06-11 17:12:12
【问题描述】:
为什么这不起作用?
Template.tests.helpers
test_value: -> "Test"
contacts: -> Contacts.find()
contact: -> Contacts.findOne()
示例 1:
<template name="tests">
{{test_value}}
{{#with contact}}
<p>{{firstname}}</p>
<p>{{../test_value}}</p>
{{/with}}
</template>
../test_value 内部联系人不呈现
示例 2
<template name="tests">
{{>testContact}}
</template>
<template name="testContact">
{{test_value}}
{{#with contact}}
<p>{{firstname}}</p>
<p>{{../test_value}}</p>
{{/with}}
</template>
在这个例子中没有任何效果。我假设如果 testContact 模板中没有定义数据上下文,它将继承他父级的数据上下文。
示例 3
<template name="tests">
{{>testContact}}
</template>
<template name="testContact">
{{test_value}}
{{#with ../contact}}
<p>{{firstname}}</p>
<p>{{../test_value}}</p>
{{/with}}
</template>
也不行。
这快把我逼疯了!
编辑
示例 4
<template name="tests">
{{#with contact}}
{{> testContact}}
{{/with}}
</template>
<template name="testContact">
<p>{{firstname}}</p>
<p>{{../test_value}}</p>
</p>
</template>
在这里,我可以看到数据上下文是 testContact 模板中的联系人。然后我希望 {{../test_value}} 能够工作,因为 test_value 与我的助手中的联系人处于同一级别,但事实并非如此。
示例 5
<template name="tests">
{{#each contacts}}
{{> testContact}}
{{/each}}
</template>
<template name="testContact">
<p>{{firstname}}</p>
<p>{{../test_value}}</p>
</template>
【问题讨论】:
标签: meteor meteor-blaze spacebars