在表单组件中,我有一个观察者,在开始进一步验证之前测试一个属性是否有效 所以我检查了属性是否尚未定义(在初始化时发生)。
if(typeof this.get('myProperty') !== 'undefined') {
//do smth
}
然后我意识到this.get
不会返回'undefined'类型,而是返回值为undefined的字符串。
很公平。
BUT
console.log(this.get('myProperty'));
给我'undefined'而不是'undefined' - 注意'undefined'之前的空格!
这是一个错误吗? 或者我真的必须用空格检查'undefined'并且有这个原因吗?
Ember-cli:1.13.7
恩伯:2.0.1
答案 0 :(得分:0)
你如何使用Ember.isNone或Ember.isEmpty。对于相反的Ember.isPresent
如果参数为null或未定义,则返回true。
Ember.isNone(); // true
Ember.isNone(null); // true
Ember.isNone(undefined); // true
Ember.isNone(''); // false
Ember.isNone([]); // false
Ember.isNone(function(){}); // false
此实用程序函数通过为空字符串和空数组返回false来约束Ember.none上的规则。
Ember.isEmpty(); // true
Ember.isEmpty(null); // true
Ember.isEmpty(undefined); // true
Ember.isEmpty(''); // true
Ember.isEmpty([]); // true
Ember.isEmpty('tobias fünke'); // false
Ember.isEmpty([0,1,2]); // false