我有一个在某些情况下没有声明的变量,我想在 jQuery 模板中使用它。这是我想要实现的目标,但它会引发 *payment_method is not defined* 异常:
{{if payment_method && (payment_method.id == $value.id)}}
// this throws an exception when payment_method is undeclared!
{{/if}}
这有效:
{{if payment_method }}
{{if payment_method.id == $value.id}}
// nested works!
{{/if}}
{{/if}}
但我不太喜欢嵌套解决方案,因为我经常使用它。我清楚地理解为什么第一种情况会引发错误,我正在寻找的是一种可能的解决方法,而无需求助于第二种解决方案。
这个问题可能归结为 js 中检查未声明/未定义变量的属性的问题。这有效:
if("undefined" !== typeof undefinedVariable) {
// this works just fine also for undeclared variables
}
但这不是:
if("undefined" !== typeof undefinedVariable.property) {
// this throws an exception
}
有任何想法吗?