2016-08-16 33 views
1

是不是可以從模板分離控制流程?我想檢查幾個變量,如果它們是空的或未定義的,並且需要使用空字符串進行初始化。像這樣嘗試:玉/帕格單獨模板控制流程

meta(property="og:site_name", content=pageData.name) 
meta(property="og:title", content=pageData.name) 
- var article_id = pageData.article_id 
- var ean = pageData.ean 
- var color = pageData.color 

if article_id == null 
    article_id = "" 
if ean == null 
    ean = "" 
if color == null 
    color = "" 

- var description = pageData.name + " " + article_id + " " + ean + " " + color 
meta(name='description', content=description) 
meta(property="og:description", content=description) 

但是最後兩個元標記永遠不會出現。我假設帕格正在進入一個如果永遠不會回來?但我不能創建一個控制流爲每個空變量這將變得瘋狂不清楚。

回答

1

,如果你使用的特快例如這將解決它(設置JS變量之前添加-

meta(property="og:site_name", content=pageData.name) 
meta(property="og:title", content=pageData.name) 
- var article_id = pageData.article_id 
- var ean = pageData.ean 
- var color = pageData.color 

if article_id == null 
    - article_id = "" 
if ean == null 
    - ean = "" 
if color == null 
    - color = "" 

- var description = pageData.name + " " + article_id + " " + ean + " " + color 
meta(name='description', content=description) 
meta(property="og:description", content=description) 

爲分離的,當你調用res.render您可以發送JS函數和變量被送往查看和使用存在。

res.render('email', { 
    pageData: pageData, 
    articleId : pageData.article_id || "" 
}); 
+0

偉大謝謝連字符定了!但什麼是連字符的影響? –

+1

@Mortiz '-'將表明您正在編寫JavaScript,因此你可以交流從javascript中提取article_id並賦予它新的值。沒有它的帕格語法並不意味着什麼。你可以寫'if'在javascript中有一個if語句,但是如果沒有'-',帕格支持如果將語句和其他語句混合在一起,就可以將哈巴狗與哈巴狗混合在一起。 – Bamieh

+1

偉大thx的答案! –