我的主干模型有一个布尔值(isRegistered).当我渲染视图时,我希望根据布尔值的true / false值选中或取消选中复选框.
我目前的努力看起来像这样:
<input id="isRegisteredCheckBox" checked="<%= isRegistered ? 'checked': ''"/>
这不起作用,因为根据W3C规范,需要完全删除checked属性以取消选中复选框.
我如何使用骨干模板?
解决方法
您不需要checked = part.如果需要检查,只需在标签中打印出来.
编辑
现在我们已经确定只打印“已检查”是有效的html,您可能会尝试简单:
渲染:
var registered; var tmpl = _.template(your template); isRegistered ? registered = 'checked' : registered = ''; var tmpl_data = _.extend(this.model.toJSON(),{registered: registered}); // or whatever values you need to add $(this.el).html(tmpl(tmpl_data));
模板:
<input type="checkBox" {{ registered }}>
使用此方法不需要模板中的杂乱条件.