If statement 检查空格键是否相等?

If statement 检查空格键是否相等?,if-statement,meteor,equals,conditional-statements,spacebars,If Statement,Meteor,Equals,Conditional Statements,Spacebars,我正在努力做我认为应该是一项非常简单的任务,但在过去的一个小时里一直未能做到这一点。如果用户属性与值匹配,我希望在默认情况下选择一个选择选项 <select name="myName"> {{#each addKeys myTable}} <!-- addKeys creates variables for keys and values --> <option value="{{key}}" {{#if currentUser.property ===

我正在努力做我认为应该是一项非常简单的任务,但在过去的一个小时里一直未能做到这一点。如果用户属性与值匹配,我希望在默认情况下选择一个选择选项

<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>
mytemplate.js
中:

Template.myTemplate.helpers({
  isSelected: function(v1, v2) {
    if (v1 === v2)
      return "selected=\"selected\"";
    return '';
  }
});
这段代码不仅很糟糕,看起来很糟糕,而且不起作用:

Exception in Meteor UI: String contains an invalid character
我不明白为什么这么简单的事情似乎不可能实现。我是不是遗漏了什么?

试试这个:

在模板中:

然后让助手返回一个布尔值


有关此主题的更多信息:

以下是空格键中
{{{if}}
语句的概述

财产 当然,最简单的可能实现是当作用域对象具有计算结果为布尔值的属性时

例如,如果您有:

var项={
文字:“你好”,
勾选:假
};
然后您可以像这样计算if块:

class=“{{{#if checked}}checked{{/if}”
作用 我们也可以在这里计算一个函数。我们可以向助手添加函数,而不是向项添加函数,它将继承传递给它的项的datacontext。因此,如果我们有以下助手:

Template.item.helpers({
saysHi:function(){
返回this.text==“hi”;
}
});
然后我们可以运行以下代码:


{{text}}
{{{if saysHi}-Hi Back{{/if}
:帮助器的实现可以通过
this
访问当前数据上下文

带参数函数 您还可以将任意数量的参数传递给助手函数,如下所示:

模板:
{{frob a b c verly=true}

助手调用:
frob(a,b,c,spacebar.kw({verly:true}))

当应用到if块时,我们可以执行以下操作:

{{{#如果等于所有者currentUser._id}
&时代;
{{/if}
然后将
equals
添加到我们的模板帮助器中,如下所示:

Template.item.helpers({
等于:函数(v1,v2){
返回(v1==v2);
}
});
万能助手 因为这是一个通用方法,在任何地方都可能有用,所以我们应该将它添加到每个模板中,而不是重新创建它

:要创建可在任何模板中使用的帮助器,请使用
template.registerHelper

Template.registerHelper('equals',
功能(v1、v2){
返回(v1==v2);
}
);

虽然空格键不支持相等,但此方法用于检查相等

你可以用这样的东西

{{#if chkeq variable value}}
chkeq:function(a,b){
    if(a==b){
      return true;}
else return false;
}
范例

{{#if chkeq applicationStatus "Draft"}}
至少它对我有用

其中chkeq是一个全局助手, 是这样的

{{#if chkeq variable value}}
chkeq:function(a,b){
    if(a==b){
      return true;}
else return false;
}

非常感谢你!