从this question开始,看来我必须带着Meteor到房子周围标记一个复选框,但是我已经谷歌搜索了一个小时了,我找不到任何示例如何实际上是这样做的。
我已经创建了帮助程序的基础:
Template.Settings.helpers({
isChecked: function () {
var id = this.id;
console.log(id);
}
});
以下是HTML:
<input type="checkbox" name="imaname" id="imanid" {{isChecked}} />
然而,我显然误解了this
的上下文,因为无论我尝试什么,都会返回undefined(this.target
等所有nada)。没有我能找到的文档详细阐述了如何实际创建我应该使用的isChecked
帮助器,所以我现在已经迷失并感到沮丧。
我从哪里开始?
编辑:好的,所以我让它工作,但是我仍然想知道this
的上下文是什么(也许是一个片刻,我猜上下文是帮手本身...如何访问触发帮助器的元素?) - 所以我可以让它更有活力:
Template.Settings.helpers({
isChecked: function (value) {
return (value == 'on' ? 'checked' : false);
}
});
同时:
<input type="checkbox" checked={{ isChecked currentUser.profile.services.bananaExports }} />
答案 0 :(得分:0)
如果我理解你的问题,这是我的方法,而不是使用帮助器,你最好使用blaze模板事件处理程序和jquery,如下所示:
Template.Setting.event({
'click input'(event){
if($('#imanid').is(":checked") == true){
return true;
}else{
return false;
}
}
});
希望这会有所帮助