我刚开始使用dust.js.而且我遇到了一个问题。 我需要在模板中指定一个条件(json参数存在)。根据它,应该呈现一些内部html。所以根据描述,我应该像这样使用smth:
{?param_name}
...
{:else}
{/param_name}
但我需要检查一个复杂的情况,所以我选择逻辑助手 - {@if ..}。事实证明,我想在条件中使用路径。所以..结果看起来:
{@if cond="{myObject.property1} || {myObject.property2} || {myObject.property3}"}
..
{/if}
问题是当一些属性未定义时,评估会停止在像:
(true) || () || ()
产生语法错误。
请问您应该用什么方法来检查多个参数的存在?
提前致谢
答案 0 :(得分:2)
建议的方式是
{@if cond="('{myObject.property1}'.length} && '{myObject.property1}') || ...
但我觉得这太可怕了。
我会写一个特定的助手来做这件事。查看@if - https://github.com/linkedin/dustjs-helpers/blob/master/lib/dust-helpers.js#L196
的代码