2016-08-16 2 views
1

템플릿에서 제어 흐름을 분리 할 수 ​​있습니까? null 또는 undefined이고 빈 문자열로 초기화하려는 경우 몇 가지 변수를 확인하고 싶습니다. 다음과 같이 시도 :템플릿/템플릿에서 jade/pug 별도 제어 흐름

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) 

마지막 두 개의 메타 태그는 표시되지 않습니다. 나는 pug가 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) 

을 개봉 예를 들어 명시 적 사용하는 경우, 당신이로 전송하는 당신은 JS 함수와 변수를 보낼 수 res.render 호출 할 때 보기 및이 사용된다. 큰

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

하이픈이 고정 감사합니다!하지만 하이픈의 효과가 무엇인가? –

+1

@Mortiz 이'-' 당신은 자바 스크립트를 작성하는 것을 나타냅니다, 따라서 당신이 교류 할 수있는 자바 스크립트에서 article_id를 종료하고 새 값을 지정하십시오. 그것없이 pug 구문은 아무 것도 의미가 없습니다. 당신은'- if'도 javascript에서 if 문을 사용할 수 있습니다. 그러나 pug는'-'없이 javascript와 pug를 혼합하여 if 문 안에 넣을 수 있습니다. – Bamieh

+1

위대한 thx 답! –