更新用let声明的大豆模板中的值

时间:2017-03-02 18:49:16

标签: templates closures conditional google-closure-templates soy-templates

我有一个值绑定到一个标志,该标志来自我需要在我的大豆模板中显示的配置文件。无论是真是假。

如果是,则值必须为" x" (例如,但它是一个字符串) 如果为false,则值必须为"" (空)

请注意,我无法从配置中传入true或false值。我也不能省略false的值,它必须提供一个空字符串。

我已尝试使用let的各种形式的if语句,但根据我对文档的解释,使用let声明的值无法更改(这没有意义)

这基本上就是我所需要的:

{if $inputValue.value == 'true'}
    {let $myVar: ($someValueThatExistsInMyTemplate) /}
{else}
    {let $myVar: '' /}
{/if}

然后我会在我的模板中使用$ myVar。但是,每当我尝试这个时,我都会收到此错误:

Found references to data keys that are not declared in SoyDoc: [myVar]

我能做什么!?

1 个答案:

答案 0 :(得分:1)

使用三元运算符使其工作:

{let $dataParent: ($item.preferences.accordionOnOff.value == 'true') ? ($item.name) : '' /}