是否有可能从模板中分离出控制流?我想检查一些变量,如果它们是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而且永远不会回来?但我无法为每个空变量创建一个控制流,这会让人发疯。不清楚。
答案 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 || ""
});