您可以使用这些通用的助手:
JS
Template.registerHelper("checkedIf",function(value){
return value?"checked":"";
});
Template.registerHelper("selectedIfEquals",function(left,right){
return left==right?"selected":"";
});
HTML
<template name="myTemplate">
<input type="checkbox" {{checkedIf checked}}>
<select>
{{#each options}}
<option value={{value}} {{selectedIfEquals value ../valueCheckedAgainst}}>
{{text}}
</option>
{{/each}}
</select>
</template>
它们旨在与正确设置模板数据的环境中使用:
Template.myTemplate.helpers({
checked:function(){
// return a Session variable or a value from a collection
// dummy value
return false;
},
options:function(){
return [{
value:"value1",
text:"First value"
},{
value:"value2",
text:"Second value"
},{
value:"value3",
text:"Third value"
}];
},
valueCheckedAgainst(){
// return a Session variable or a value from a collection
// dummy value
return "value2";
}
});
请注意,使用../parentContext
语法从{{#each}}
块内的父数据上下文访问valueCheckedAgainst
。
最好的,通用的答案在那里。 – Emo 2015-11-24 15:48:33