是否可以在灰塵中包含可選的部分?比方說,我這樣定義一個佈局:DustJS中的可選部分
<div>
{>"{module}"/>
</div>
我一直在定義快捷的res.locals
對象模塊。但是,如果我忘了定義一個模塊,或者我實際上想要一個默認模塊供我使用時沒有定義模塊呢?更糟糕的是,如果我定義了一個,但它是不正確的模塊,那意味着視圖文件夾中沒有模板文件,並且該模塊的名稱是?我不希望用戶看到的醜陋的錯誤消息,這似乎是這樣的:
Error: ENOENT, open 'view_path\{module}.dust'
其中{module}
是模塊的名稱,或者如果我沒有指定res.locals.module
一個空字符串。我是否應該使用try-catch塊(甚至不知道如何在dust
中執行這些操作),還是有一種使模板可選的方法,而不是必需的? 注意:該模板將是可選的,但module
變量將(通常)仍然是一個字符串。看起來dust
部分是可選的,這意味着如果確切的鍵不可用,該部分根本不包括在內。例如,說我有上下文{friends: [{name: "Harry"}, {name: "Ron"}, {name: "Hermione"}]}
。如果我定義的部分:
{#friends}
{name} is {age} years old.
{/friends}
它將輸出
Harry is years old.
Ron is years old.
Hermione is years old.
公告有在每種情況下,在那裏,如果我們定義的任何年齡的age
將is
和years
之間的2個空格。如果包含此功能,那麼dust
和LinkedIn
的原創者是不是認爲不需要偏分量? 如何在dust
中指定可選的部分?
雙空格的東西應該沒什麼大不了的,因爲瀏覽器只會渲染一個空格。我相信你可以調整句柄代碼來添加任何處理你想要的缺失部分。 – jfriend00 2014-10-30 01:41:38
我不打算把這些部分的代碼放到我的應用程序中,所以我沒有測試它以確保它有2個空格。我只是假設。無論如何,我根本不關心這兩個空間,所以它確實是「沒什麼大不了的」。那只是一個例子。 – trysis 2014-10-30 01:48:43
什麼是downvote? – trysis 2014-12-14 04:53:00