4
我有一個錯誤解析下劃線的模板,我不斷收到一個錯誤說:下劃線模板:錯誤的if else語句
Uncaught SyntaxError: Unexpected token 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
{[ }); ]}
問題似乎在if/else語句中。當我完全刪除它時,模板上留下的部分被渲染。
所以,我缺少語法的東西?我所有的其他模板都有javascript,並且正確顯示,除了這個與if/else之外。
感謝
謝謝,這工作。任何理由爲什麼它不工作時,語句是在不同的標籤?這可能是一個玉器問題嗎?我會嘗試將模板更改爲HTML並查看是否重現錯誤。 –
Underscore如何構建模板是一個問題。它基本上構建了一個字符串「eval」,並且在該生成的代碼中生成一個包含HTML輸出的字符串。當它遇到JS來評估它關閉HTML時,插入你的JS並再次打開HTML。當你有這樣的單獨標籤時,構建的字符串看起來像是'if(condition){html + ='html inside if'; } html + ='';否則{html + ='inside else'',這顯然是無效的JS。 – freejosh
感謝您的解釋 –