2016-08-16 16 views
1

テンプレートから制御フローを分離することはできませんか?空の文字列で初期化したい場合に、nullまたは未定義の変数をチェックしたい。ジェイド/パグ別テンプレートからの制御フロー

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) 

最後の2つのメタタグは決して表示されません。私はパグがifに入り、決して戻ってこないと思いますか?しかし、私はこれが狂った不明瞭になるnull変数ごとに制御フローを作成することはできません。

答えて

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) 

を、youreのは、例えば急行使用している場合、あなたはあなたがに送信するJS関数や変数を送信することができres.renderを呼び出すときビューとそこに使用。

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

素晴らしいが、ハイフンはそれを修正ありがとうございました!が、ハイフンの効果は何ですか? –

+1

@Mortiz '-' JavaScriptを書いていることを示します、したがって、あなたができる交流javascriptからarticle_idを削除し、新しい値を与えます。そのpug構文なしでは何も意味しません。あなたは ' - if'でもjavascriptにif文を書くことができますが、' 'がなければpugがサポートしているので、if文の中にpugを入れるpugとjavascriptを混ぜることができます。 – Bamieh

+1

答えが偉大です! –