我正在通过Discover Meteor工作,并且已经发现了一些我不太清楚的代码。这是我的模板和相关的js
<template name="postItem">
<div class="post">
<div class="post-content">
<h3><a href="{{url}}">{{title}}</a><span>{{domain}}</span></h3>
<p>
submitted by {{author}}
{{#if ownPost}}<a href="{{postEditPath this}}">Edit</a>{{/if}}
</p>
</div>
<a href="{{postPagePath this}}" class="discuss btn">Discuss</a>
</div>
</template>
Template.postItem.helpers({
ownPost: function(){
return this.userId == Meteor.userId();
},
domain: function() {
var a = document.createElement('a');
a.href = this.url;
return a.hostname;
}
});
总的来说,我有点不清楚&#34;这个&#34;正在这个js的背景下工作。我理解&#34;这个&#34;成为我们正在执行的函数的“所有者”,或者更确切地说,是函数是每the quirksmode article方法的对象的“所有者”,但我并没有在上下文中真正理解这个链流星如何实现它。只看代码,我希望this.userId为null。有人可以帮助我,或指向一些解释如何&#34;这个&#34;在Meteor工作?
答案 0 :(得分:4)
我很惊讶这个问题不经常被问到,因为它不是很明显或没有明确记录。
推荐阅读:
以上文章应该清楚地解释情况,但这里是快速版本:
帮助程序内的上下文(“this”)是模板实例的上下文。您可以直接为模板提供上下文:
{{> postItem myItem}}
// The context is now myItem. "this" inside of a helper is the myItem document.
或间接地如此:
{{#each posts}}
// The context is now a post. "this" inside of a helper is a post document.
{{/each}}