我想知道你是否能给我一些线索如何解决这个问题'。我是JS(+ Meteor)的新手,所以对你来说可能非常简单。我正在使用helpers
和blaze/spacebars
进行渲染。
我有一个简单的帮手:
Template.monitoring.helpers({
'realtime': function(){
return {
house: house.find( {} ),
neighbours: neighbours.find( {} ),
}
} // end of realtime
}); // end of helpers
此时一切正常。我能够检索到我想要的数据。问题是我无法像我想的那样呈现它。在我的template
下面。
<template name="monitoring">
{{#each realtime.house}}
<div class="card red">
SHOW STUFF ABOUT HOUSE
</div>
<div class="card blue">
{{#each realtime.neighbours}}
SHOW STUFF ABOUT NEIGHBOURS OF THE SPECIFIC HOUSE
{{/each}}
</div>
{{/each}} -> end of each realtime.house
</template>
更准确地说,当我的模板呈现时:
每张红牌都包含 one house =&gt;的数据完美
蓝卡数量=房屋数量=&gt;完美
你有没有在正确的地方找到合适的东西? 非常感谢你。
答案 0 :(得分:0)
你需要两个助手:一个用于返回房屋,另一个用房屋作为上下文返回邻居。如果没有模式,我无法给出准确的答案,但我们假设每个邻居都有一个preventDefault()
属性来连接这两个。
houseId
你的模板看起来像这样(假设邻居应该都是蓝卡):
Template.monitoring.helpers({
houses: function () {
return house.find();
},
neighbors: function () {
// Note the context here is a house because it's
// called from within an each.
return neighbours.find({ houseId: this._id });
},
});