【发布时间】:2016-01-31 01:30:17
【问题描述】:
在表单组件中,我有一个观察者,在开始进一步验证之前测试属性是否有效。
所以我检查了该属性是否尚未定义(发生在初始化 f.e.)
if(typeof this.get('myProperty') !== 'undefined') {
//do smth
}
然后我意识到this.get 不会返回“未定义”类型,而是返回值为未定义的字符串。
很公平。
但是
console.log(this.get('myProperty'));
给我 'undefined' 而不是 'undefined' - 注意 'undefined' 之前的空格!
这是一个错误吗?
还是我真的必须用空格检查“未定义”,这有什么原因吗?
Ember-cli:1.13.7
余烬:2.0.1
【问题讨论】:
-
this.get应该返回undefined而不是'undefined'。确定您没有在其他地方将其设置为' undefined'吗?尝试测试undefined === this.get('missingProperty');,如果该属性从未定义,它应该返回true。 -
我什至在组件中将其设置为
''。这是在观察者中,在组件初始化期间它首先返回' undefined',然后是' ',然后是''。 -
观察者不应该返回任何东西,你在考虑计算属性吗?
-
我想我发现了(我的)错误。
myProperty确实是通过另一个计算属性设置的。谢谢你的提示。尚未解决,但我认为您是对的!
标签: ember.js