場合によっては宣言されていない変数があり、jQueryテンプレートで使用したいと思います。これは私が達成しようとしていることですが、*payment_methodが定義されていません*例外をスローします。
{{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}}
しかし、私はそれをたくさん使用しているので、ネストされたソリューションにはあまり熱心ではありません。最初のケースでエラーが発生する理由を明確に理解しています。私が探しているのは、2番目の解決策に頼らずにこれを回避できる可能性があることです。
この問題はおそらく、未宣言/未定義の変数のプロパティをチェックするためのjsの問題に要約されます。これは機能します:
if("undefined" !== typeof undefinedVariable) {
// this works just fine also for undeclared variables
}
しかし、これはしません:
if("undefined" !== typeof undefinedVariable.property) {
// this throws an exception
}
何か案は?