访问流星模板中的父数据上下文
Accessing parent data context in meteor templates
如何在Meteor中访问父模板的数据。在下面的例子中,我想从<template name="photoGallery">
访问<template name="post">
模板数据。这就是我正在做的,但它不起作用:
<template name="post">
<div class="well">
<p class="text-left text-muted"><span class="glyphicon glyphicon-time"></span> <i>{{post.date}}</i></p>
<div class="post-text">
<p>{{post.text}}</p>
</div>
<div class="photo-gallery">
{{> photoGallery}}
</div>
<hr>
<div class="like-post text-right">
<button>
<span class="glyphicon glyphicon-heart liked"></span>
{{post.likeCount}}
</button>
</div>
</div>
</template>
和:
<template name="photoGallery">
{{#each post.photos}}
<img src="{{src}}"> //this does not work
{{/each}}
</template>
这是我的js文件后模板:
Template.post.helpers({
post: {
text: 'Teks, surat, audio we video. Postda tekst bolanda test uchin ulanyljak yazgy. Shu yazgynyn maksimum simwol sany yuz kyrk simwoldan gechmeli dal. Eger gechen yagdayynda onda kop nokatlar goyulmaly.',
date: '31-12-205 23:59',
likeCount: 13,
photos: [
{
src: 'http://cs625423.vk.me/v625423655/899b/W9agrD2UimQ.jpg',
src_small: 'http://cs625423.vk.me/v625423655/899a/zkipjxINKM8.jpg',
src_big: 'http://cs625423.vk.me/v625423655/899c/uL2EOORDYV4.jpg'
},
{
src: 'http://cs625423.vk.me/v625423655/899b/W9agrD2UimQ.jpg',
src_small: 'http://cs625423.vk.me/v625423655/899c/uL2EOORDYV4.jpg',
src_big: 'http://cs625423.vk.me/v625423655/899a/zkipjxINKM8.jpg'
},
{
src: 'http://cs623220.vk.me/v623220655/1e3be/uj7M9HwtkbA.jpg',
src_small: 'http://cs623220.vk.me/v623220655/1e3bd/hkoSv-zpb4Y.jpg',
src_big: 'http://cs623220.vk.me/v623220655/1e3bf/Zb3sQa0aX0U.jpg'
},
{
src: 'http://cs623216.vk.me/v623216655/16c18/3mXm6-EZ-aM.jpg',
src_small: 'http://cs623216.vk.me/v623216655/16c17/RtKyVS-D7GA.jpg',
src_big: 'http://cs623216.vk.me/v623216655/16c19/_jy0aZu2GEA.jpg'
}
],
...
所需的结果是子模板访问父模板的帮助程序的结果。您可以这样设置photoGallery
模板的上下文:
{{> photoGallery post}}
现在,在photoGallery
内部,上下文是post
,因此我们可以迭代照片:
<template name="photoGallery">
{{#each photos}}
<img src="{{src}}">
{{/each}}
</template>
我认为parentData就是您想要的。
这就是我解决问题的方法。我刚刚将post.photos变量传递给子模板。在<template name="post">
:中
...
<div class="photo-gallery">
{{> photoGallery photos=post.photos}}
</div>
...
并且在<template name="photoGallery">
:中
{{#each photos}}
<img src="{{src}}">
{{/each}}
您可以使用../访问父数据
<template name="photoGallery">
{{#each ../post.photos}}
<img src="{{src}}">
{{/each}}
</template>
如果它不起作用,你可以尝试:
<div class="photo-gallery">
{{#with post}}
{{> photoGallery}}
{{/with}}
</div>
你的照片库模板将看起来像:
<template name="photoGallery">
{{#each this.photos}}
<img src="{{src}}">
{{/each}}
</template>
如果您使用#with
助手,photoGallery模板将获得post
上下文,您可以通过this
使用帖子属性。
相关文章:
- 访问流星模板中的父数据上下文
- 正确加载Template.templateName.rendered数据上下文
- 如何使用 Blaze.getData() 从 Meteor 中的视图中提取数据上下文
- 如何在反应表中单击表行的列之一时获取表行的数据上下文
- 在 MongoDB 中选择从数据上下文传递的字段
- 从铁路由器访问模板中的数据上下文数据时出现问题
- meteorjs:简单的可重用模板,使用Iron Router具有特定于路由的数据上下文
- 为包定义的模板设置数据上下文
- 流星数据上下文,将数组传递到每个空格键循环中
- 《烈焰流星》动态实例化模板和数据上下文
- 访问Meteor中Template渲染函数中的父数据上下文
- 在常规JS文件中使用Meteor Iron Router数据上下文
- Meteor中的数据上下文导致回调不可靠
- 流星数据上下文——相对于单个模板及其后代而言是全局的
- 是否可以访问使用Blaze.render()加载的模板的父数据上下文?
- 聚合物dom-repeat数据-上下文未设置
- 如何将另一个对象附加到流星中的数据上下文
- Meteor:为什么我会通过将函数(){}切换为()=>来丢失我的数据上下文;{}
- 如何在onCreated中分配数据上下文
- 在呈现的回调中访问数据上下文