我在评估lodash的模板函数中的if条件时遇到了问题。
运行时:
_.templateSettings = {
evaluate: /\{\{([^#].*?)\}\}/g,
interpolate: /\{\{([^#].*?)\}\}/g,
escape: /\{\{\{(.+?)\}\}\}/g
};
eventsInfoTemplate = _.template(
'<div class="list-item" data-id="{{events.event_id}}">' +
'<div class="list-info">' +
'<div class="list-info__venue">' +
'<h5 class="event-title">' +
'<a href="#">{{events.event_name}}' +
'{{# if (events.event_type != "Performance") { }}'
'<span class="event-type__badge">{{events.event_type}}</span>'
'{{# } }}'
'</a>' +
'</h5>' +
'<span class="event-details">{{events.event_date}} | {{events.event_venue}}</span>' +
'</div>' +
'</div>' +
'</div>'
)({events: {}});
它将if条件中的所有内容作为元素返回。从if条件中删除+
时,它会返回错误:
Uncaught SyntaxError: missing ) after argument list
我做错了什么?或者你不能在模板中加入if
条件吗?