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;
}
非常感谢你!