相关疑难解决方法(0)

在Spacebars中检查是否相同?

我正在努力做我认为应该是一项非常简单的任务,但在过去一小时内没有这样做.如果用户属性与值匹配,我想默认选择一个选择选项.

<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)

我不明白为什么这么简单的事情似乎无法实现.我错过了什么吗?

if-statement equals conditional-statements meteor spacebars

19
推荐指数
2
解决办法
1万
查看次数