我遵循了良好的开端教程 https://www.meteor.com/try/5
任何人都可以告诉我this._id来自哪里
我在html模板中看不到任何内容
<template name="task">
<li class="{{#if checked}}checked{{/if}}">
<button class="delete">×</button>
<input type="checkbox" checked="{{checked}}" class="toggle-checked" />
<span class="text">{{text}}</span>
</li>
</template>
Template.task.events({
"click .toggle-checked": function () {
// Set the checked property to the opposite of its current value
Tasks.update(this._id, {$set: {checked: ! this.checked}});
},
"click .delete": function () {
Tasks.remove(this._id);
}
});
我过去常常在html中看到id .....
答案 0 :(得分:0)
正如教程中所说:
在事件处理程序中,这指的是单个任务对象。
通常,事件处理程序中的this
引用用于呈现事件发生的元素的数据上下文。
修改强>
我意识到我的答案对初学者来说可能不那么好。让我再试一次。
查看the template is inserted的位置。它位于#each
块内,#each
块将数据上下文更改为集合中的文档。在任务模板中,数据上下文永远不会更改(可以使用#each
和#with
块进行更改),因此事件处理程序中的this
将引用用于呈现的文档模板。