If statement 灰尘如果条件
我有一个灰尘问题,如果条件。我有一个部分指向2个不同的灰尘模板,这取决于国家代码If statement 灰尘如果条件,if-statement,dust.js,If Statement,Dust.js,我有一个灰尘问题,如果条件。我有一个部分指向2个不同的灰尘模板,这取决于国家代码 {>"receipt/merchantInfo/merchantInfo_{countryCode}"/} 我正在尝试做一个if-else条件,以确定{countryCode}是否是我们。 例如: {@if cond=“{countryCode}=='US'}” 国家代码是我们的吗 {:else} 国家代码不是我们的吗 {/if} 这不管用。有人知道我在这方面哪里出了问题吗?由于潜在的安全漏洞,@if帮助
{>"receipt/merchantInfo/merchantInfo_{countryCode}"/}
我正在尝试做一个if-else条件,以确定{countryCode}
是否是我们。
例如:
{@if cond=“{countryCode}=='US'}”
国家代码是我们的吗
{:else}
国家代码不是我们的吗
{/if}
这不管用。有人知道我在这方面哪里出了问题吗?由于潜在的安全漏洞,
@if
帮助程序已被弃用(它在条件上使用eval)。我建议改用@eq
助手
{@eq key=countryCode value="US"}
<p>is country code US</p>
{:else}
<p>is NOT country code US</p>
{/eq}
{@eq key=countryCode value=“US”}
国家代码是我们的吗
{:else}
国家代码不是我们的吗
{/eq}
如果这不起作用,请确保countryCode在您的上下文中可用(您可以使用{@contextDump/}
。我会这样做:
{@select key=countryCode }
{@eq value="US"}<p>is country code US</p>{/eq}
{@eq value="UK"}<p>is country code UK</p>{/eq}
{@default}<p>is NOT country code US or UK</p>{/default}
{/select}
{@select key=countryCode}
{@eq value=“US”}是国家代码US{/eq}
{@eq value=“UK”}是国家代码UK{/eq}
{@default}不是美国或英国的国家代码{/default}
{/select}
确保您使用的是1.x版或更高版本
确保你已经装好了。前几天我碰到了这个。你需要它才能工作,它不会错误地告诉你它不是。如果你喜欢@If,但不喜欢它使用eval的安全问题,你可以使用我的替代@If助手。它提供一个属性test=“expr”来指定您的if条件。eval不用于计算表达式的值 表达式中的变量仅限于用于从上下文访问值的名称和路径。常量是JavaScript整数、浮点、十六进制和字符串形式(“xx”或“xx”)。操作数可以是“变量”、常量或生成值的二进制或一元表达式。关系运算符是,=,=,!=。布尔运算符是!(一元),| |和&&。。运算符优先级与JavaScript相同,为了清楚起见或优先级不是您想要的,可以使用括号 以下是一个例子:
{@if test="state == 'CA' || state == 'NY'"}
true stuff goes here
{:else}
false stuff goes here
{/if}
注意,它仍然有允许使用eval()的cond=“expr”属性的代码。这为现有代码提供了迁移路径
您可以将其安装为npm模块()。您还可以使用:
{#key}
Some content
{:else}
Some other content, if key doesn't have a value
{/key}
例如:
资料
粉尘模板
<p>First Name: {firstName}</p>
<p>Last Name: {lastName}</p>
{#website}
<p>Website: {website}</p>
{:else}
<p>Phone: {phone}</p>
{/website}
投票赞成提到安全漏洞。选择
怎么样?我可以将选择与eq
、gte
等一起使用吗?我怎样才能写出复杂的条件呢?假设A>B&&Bselect
可以与eq
、gt
、lt
等一起使用。目前在单个语句中不可能使用复杂的条件。您必须使用嵌套,并且通常会重复一些代码。关于创建<代码>和<代码>和<代码>或<代码>助手,已经有过讨论,但同时,如果可能的话,我建议更改您的数据。您能提供这方面的来源吗?dustjs helpers的代码/网站没有提到“if”已被弃用。感谢您提到contextDump,这非常方便*只是为了更容易找到它。最新版本的dust中不推荐使用“default”
{
firstName: "Mickey",
lastName: "Mouse",
website: null,
phone: "1-800-DISNEYWORLD"
}
<p>First Name: {firstName}</p>
<p>Last Name: {lastName}</p>
{#website}
<p>Website: {website}</p>
{:else}
<p>Phone: {phone}</p>
{/website}
First Name: Mickey
Last Name: Mouse
Phone: 1-800-DISNEYWORLD