4
내가 밑줄 서식 파일을 구문 분석 오류가있는 경우, 내가 말하는 오류가 계속와 :밑줄 템플릿 : 오류 else 문
script#viewLinksTemplate(type="text/template")
table.table.table-condensed.table-striped
caption Available links
thead
tr
td link id
td Name
td View
td Edit
td Remove
tbody
{[ _.each(routes, function(route) { ]}
tr
td {{ route._id }}
{[ if (typeof route.name !== 'undefined') { ]}
td {{ route.name }}
{[ } ]}
{[ else { ]}
td {{ route.stations.start.name }} - {{ route.stations.end.name }}
{[ }; ]}
td
a.btn.btn-primary(href="/route") View Route
td
a.btn.btn-warning Edit Route
td
a.btn.btn-danger Delete Route
{[ }); ]}
옥를 사용
: 여기 Uncaught SyntaxError: Unexpected token else
는 아래의 템플릿입니다
문제는 if/else 문에있는 것 같습니다. 완전히 제거하면 템플릿에 남아있는 부분이 렌더링됩니다.
그래서 구문에 뭔가 빠졌습니까? 다른 모든 템플릿에는 javascript가 있고 if/else를 제외하고 올바르게 렌더링됩니다.
감사
덕분에, 그 작동합니다. 문장이 별도의 태그에있을 때 작동하지 않는 이유는 무엇입니까? 아마도 옥 문제일까요? 템플릿을 HTML로 바꾸고 오류가 다시 발생하는지 확인해 보겠습니다. –
Underscore가 템플릿을 빌드하는 방법에 문제가 있습니다. 그것은 본질적으로'eval'에 문자열을 만들고, 생성 된 코드는 HTML 출력을 포함하는 문자열을 만듭니다. 평가할 JS를 만났을 때 HTML을 닫고 JS를 삽입 한 다음 HTML을 다시 엽니 다. 같은 별도의 태그가있을 때 생성 된 문자열은'if (condition) {html + = 'html inside if'; } html + = ''; else {html + = 'inside else' ', 이는 분명히 유효한 JS가 아닙니다. – freejosh
설명 주셔서 감사합니다 –