如何将存储的true或false值应用于checked属性?
我有一系列的问题,用户可以打开/关闭(真/假)作为答案。我在Meteor.user()。profile中创建了一个名为questions
的对象。字段名称是问题,存储的值可以是true
或false
。
现在我希望每个字段的属性显示存储的值,而不是重置为其默认值。
<template name="template">
{{#with currentUser.profile.questions}}
<div class="row">
<input data-name="profile.questions.school" type="checkbox" name="questions" checked="{{school}}"> Go to School?
</div>
<div class="row">
<input data-name="profile.questions.contributor" type="checkbox" name="questions" checked={{contributor}}"> contributor?
</div>
{{/with}}
</template>
我是这样做的漫长的方式吗?无论如何都会使用空格键{{isChecked}}
方法辅助? https://www.discovermeteor.com/blog/spacebars-secrets-exploring-meteor-new-templating-engine/
它似乎只是为了显示复选框。
答案 0 :(得分:2)
我处理复选框/无线电的方式是这样的:
Template.myTemplate.helpers({
isMyCheckboxChecked: function(value) {
return (value == true ? 'checked' : '');
}
});
然后在我的模板中我可以做到:
<input name="myCheckbox" type="checkbox" value="true" {{isMyCheckboxChecked myCheckboxValue}} />
这假设您传入一个值以确定是否需要选中该复选框。如果你的价值在各方面都非常真实/错误,我甚至会考虑使用Template.registerHelper使帮助者“全球化”。代码几乎是相同的,你只需要定义帮助稍微不同。这将使其在所有模板中都可用。