1
我想给用户一个按钮,将一个文档的id(连同他们的组名)添加到另一个集合中。流星如果帮手 - 如何在每个循环中访问这些数据
我有一个#each循环,通过模板助手查询从第一个集合中返回每个文档。在每个返回的文档中,我需要检查id是否已经添加到其他集合中,并且取决于结果,html中的#if助手会返回不同的输出。
但“这”是返回一个空的对象,我不知道该怎么给每个“这个”数据上下文传递到“inCollectionTwo”帮手:
<template name="Collections">
{{#each doc in colOne}}
{{#if inCollection2}}
{{> rmvfrmcolTwo doc=doc}}
{{else}}
{{> addtocolTwo doc=doc}}
{{/if}}
{{/each}
</template>
助手
Template.Collections.helpers({
colOne: function() {
return CollectionOne.find();
},
inCollectionTwo: function(){
var docid = this.colOne._id;
var group = Meteor.user().profile.groupName;
var exists = CollectionTwo.findOne({documentid: docid, groups: { "$in": [group]}});
if(exists) {
return true;
} else {
return false;
}
}
});
感谢输入@chazsolo,在第一个音符,这只是我的部分转座错字。为了便于阅读,我重新命名了模板,帮助器和集合。但就你的第二点来说,“这”本身仍然是一个空洞的对象。我在发布之前尝试过,应该提到。 – edoras
@edoras你也可以尝试将'doc'作为参数传递给helper,然后在那里访问它。就像:'{{#if(inCollectionTwo doc)}}' - 我已经更新了我的回答,以反映这个 – chazsolo
再次感谢@chazsolo,通过doc实现了诀窍! – edoras