[英]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.