我有一个postItem
模板,当它是登录用户自己的帖子时会显示编辑和删除按钮:
<div class="page-actions">
{{#if ownPost}}
<a class="btn btn-default" href="{{pathFor 'postEdit'}}">edit</a>
<a class="btn btn-danger delete" href="#">delete</a>
{{/if}}
</div>
ownPost
助手看起来像这样:
Template.postItem.helpers({
ownPost: function() {
return this.userId === Meteor.userId();
}
});
但this.userId
会返回undefined
。我想它与this
上下文有关,但我不完全确定这里出了什么问题?
答案 0 :(得分:0)
你需要使用console.log(this)检查它的上下文,然后检查你是否a)发布你想要的数据(你是使用带有指定字段的pub / sub还是仍然使用原型进行原型设计) autopublish / insecure等?)。
最后,我会检查您是否正确地将数据保存到集合中的文档,但显然只有用户集合本身拥有用户ID。
在这样的模板助手中,this
关键字将引用填充模板的对象。