玉/帕格分离控制来自模板的流动

时间:2016-08-16 08:46:41

标签: node.js pug

是否有可能从模板中分离出控制流?我想检查一些变量,如果它们是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)

但最后两个元标记永远不会出现。我认为哈巴狗会进入一个if而且永远不会回来?但我无法为每个空变量创建一个控制流,这会让人发疯。不清楚。

1 个答案:

答案 0 :(得分: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)

分离时,如果你使用express,例如,当你调用res.render时,你可以发送js函数和变量发送到视图并在那里使用。

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