繁体   English   中英

在大豆(封闭)模板中,如何打印在运行时可能未定义的表达式?

[英]In Soy (Closure) templates, how can I print an expression that might be undefined at runtime?

假设模板模型包含一个名为$myMap的映射,其键在编译时未知。 如果我的模板尝试使用{$myMap[$someValidKey]}打印地图条目,则一切正常。 但是,如果我尝试使用{$myMap[$someInvalidKey]}进行打印,则模板将无法呈现,而是引发此错误:

In 'print' tag, expression "$myMap[$someInvalidKey]" evaluates to undefined.

如果该表达式未定义,即在映射中不存在这样的键,我如何告诉模板不打印任何内容?

我刚刚确认您可以有条件地包装它:

{if $myMap[$someInvalidKey]}{$myMap[$someInvalidKey]}{/if}

在未定义的情况下,可以使用{$myMap[$someInvalidKey] ?: ''}返回到不打印任何内容(空字符串)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM