我正在努力做我认为应该是一项非常简单的任务,但在过去一小时内没有这样做.如果用户属性与值匹配,我想默认选择一个选择选项.
<select name="myName">
{{#each addKeys myTable}} <!-- addKeys creates variables for keys and values -->
<option value="{{key}}" {{#if currentUser.property === key}}selected="selected"{{/if}}>{{value}}</option>
{{/each}}
</select>
Run Code Online (Sandbox Code Playgroud)
现在我觉得这很容易实现.但事实证明,Spacebars不允许除否定感叹号之外的条件运算符,因此等号无关紧要.然后我尝试了一些可怕的尝试:
在模板中myTemplate:
<select name="myName">
{{#each addKeys myTable}}
<option value="{{key}}" {{isSelected currentUser.property key}}>{{value}}</option>
{{/each}}
</select>
Run Code Online (Sandbox Code Playgroud)
在mytemplate.js:
Template.myTemplate.helpers({
isSelected: function(v1, v2) {
if (v1 === v2)
return "selected=\"selected\"";
return '';
}
});
Run Code Online (Sandbox Code Playgroud)
这段代码不仅可怕,看起来很糟糕,它不起作用:
Exception in Meteor UI: String contains an invalid character
Run Code Online (Sandbox Code Playgroud)
我不明白为什么这么简单的事情似乎无法实现.我错过了什么吗?