2012-11-02 62 views
0

如果item.description未定義或空的,我想默認爲「無說明」:使用默認值與EJS過濾

我已經試過如下:

<%-: (item.description | markdown) || '<p>No description</p>' %> 
    <%-: (item.description || 'No description') | markdown %> 

什麼可以我做?

回答

1

不知道你是否能EJS」 filters|混合||,但你可以add a filter來完成它:

ejs.filters.or = function (arg, sub) { 
    return arg || sub; 
}; 
<%-: item.description | or:'No description' | markdown %> 
+0

什麼將是降價那麼論據?編輯:這工作。 – chovy

+0

我已經提交了一個PR,在ejs中包含這個「默認」過濾器:https://github.com/visionmedia/ejs/pull/162 –

0

我想知道你的問題,爲什麼前的代碼-eg與ejs模板表達式是"<%-" not the "<%="(輸出或值賦值輸出)還是"<%=:"(過濾器輸出)簽名?

BTW,過濾器調用簽名單豎條不是翻一番,你可以用你想要什麼調用任何時代......

+0

markdown生成html,所以你需要<% - 不是<%=否則它會得到逃過一劫。 – chovy