我需要检查对象字段的值,并根据我想要设置ReactiveVar
变量。
但是这个领域只是一个可选的领域,所以也许它根本就不存在。检查值的正确方法是什么?
如果我只使用var result = (data.profile.anyField == 'something' )
,我会收到错误,因为我无法使用anyField
undefined
,如果个人资料未设置。
所以我会这样做,但我认为它可以做得更聪明更短:
var modus;
if (Data.profile) modus = (Data.profile.anyField == 'something') ? 'setValue' : '';
else modus = '';
this.modus = new ReactiveVar(modus);
第二个问题是将modus
的值设置为空字符串是否正确?结果应该是这样的:
this.modus = new ReactiveVar('setValue'); // if modus is true
this.modus = new ReactiveVar(); // if modus is false
答案 0 :(得分:1)
问题1:
单行:
new ReactiveVar(Data.profile && Data.profile.anyField == 'something' ? 'setValue' : '');
问题2:
用undefined