簡體   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