似乎是一个简单的问题,但我无法弄清楚为什么以下代码根本不起作用......
关于gender1
:
如果我使用计算属性并尝试使用条件OR对几个字符串进行检查,则输出到标签中的结果始终为“male / female / other”,即使输入gender1包含其中一个...
关于gender2
:
但是,如果我不使用条件OR并仅针对“男性”进行测试,那么一切都按预期工作......
模板
<script type="text/x-handlebars" data-template-name="index">
<label>:</label><br/><br/>
<div>
<label>Gender_not_working:</label>
{{input value=gender1}}
<label>{{verifyGender1}}</label>
</div><br/>
<div>
<label>Gender_working:</label>
{{input value=gender2}}
<label>{{verifyGender2}}</label>
</div><br/>
</script>
控制器
App.IndexController = Ember.Controller.extend({
gender1: "",
gender2: "",
verifyGender1: Ember.computed('gender1', function(){
console.log(this.get('gender1').toLowerCase());
if(this.get('gender1').toLowerCase() !== "male"||"female")
{return "male/female/other";}
else
{return "MKay";}
}),
verifyGender2: Ember.computed('gender2', function(){
console.log(this.get('gender2').toLowerCase());
if(this.get('gender2').toLowerCase() !== "male")
{return "male/female/other";}
else
{return "MKay";}
}),
});
这个问题也出现在我创建的JS Bin上......
答案 0 :(得分:1)
这是一个简单的JavaScript错误。
您无法将1个值与2个“潜在”值进行比较,就像您尝试openURL
一样。您可以执行AppDelegate
或(val1 !== val2 || val3)
以及其他一些方法来达到同样的效果。