gpt4 book ai didi

javascript - Dustjs eq 过滤器,null 和 false 的不同行为

转载 作者:行者123 更新时间:2023-11-29 17:05:56 25 4
gpt4 key购买 nike

我有这样的数据集:

[{"val": false}, {"val": null}]

和模板:

{#.}
{@eq key=val type="string" value="false"}
FALSE
{:else}
NULL
{/eq}
{/.}

此模板返回:NULLNULL,但我想得到 FALSENULL。有什么想法可以让它发挥作用吗?

最佳答案

任何没有被引号包围的辅助参数都将被视为引用。考虑这个例子:

JSON:

{
"false":"mypropertyWithNameFalse"
}

和模板

{@eq key=false type="string" value="mypropertyWithNameFalse"}
same
{:else}
not same
{/eq}

Dust 将从上下文中获取 false 键的值,结果将呈现 same

为了让您的示例正常工作,您需要将 false 作为字符串传入,并在 eq< 上使用 type="boolean" 参数 像这样的助手:

{@eq key=val value="false" type="boolean"}

在这种情况下,keyvalue 参数的值将被强制转换为 bool 类型,您将获得所需的结果。

或者,您可以执行 type="string" 将值转换和比较为字符串。但是 coerce 似乎存在一个问题,而不是强制伪造值。我认为这是一个错误,需要修复。

关于javascript - Dustjs eq 过滤器,null 和 false 的不同行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24803823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com