我使用胡须插值法:
_.templateSettings = {
interpolate: /\{\{(.+?)\}\}/g
};
,对于此代码,我得到错误:Uncaught SyntaxError:如果出现意外令牌
<div class="d-none flex-container tip-container bg-white mt-5" data-ajax-template-empty-tip>
<div class="tip-header border border-bottom-0 d-flex flex-row p-2">
<div class="align-self-center mr-2">
<a href="./{{countryName}}" target="_blank">
<img class="d-block" alt="" src="/images/flags/{{countryId}}.png">
</a>
</div>
{{if (typeof(cityName) !== "undefined") { }}
<i class="fas fa-arrow-left align-self-center mr-2"></i>
<div class="align-self-center mr-2">
<a class="badge badge-primary" role="button" href="/city/{{cityName}}" target="_blank">
<span>{{cityName}}</span>
</a>
</div>
{{}}}
</div>
</div>
如果没有if语句,它会很好地工作,但是,如果它不能工作,那有什么想法吗?我在网上查看了每个问题,无法解决,我什至删除了插值并使用了默认的<%,但是没有。
答案 0 :(得分:0)
我必须添加此设置才能使其正常工作:
_.templateSettings = {
evaluate: /\{\{(.+?)\}\}/g,
interpolate: /\{\{=(.+?)\}\}/g,
escape: /\{\{-(.+?)\}\}/g
};
答案 1 :(得分:-1)
在if之前尝试一个空格,就像这样:
{{ if (typeof(cityName) !== "undefined") { }}