Javascript Underline.js中的If条件语句

Javascript Underline.js中的If条件语句,javascript,jquery,backbone.js,underscore.js,Javascript,Jquery,Backbone.js,Underscore.js,我正在与backbonejs一起使用下划线JS的\.template()函数。在使用Underline.js v1.3.0时,我可以使用if语句,如下所示: <script type="text/template" id="tpl_listing_list_item"> <% if(<%= address_2 %>){%>, <%= address_2 %><%}%> </script> , 问题:更新到v1

我正在与backbonejs一起使用下划线JS的
\.template()
函数。在使用Underline.js v1.3.0时,我可以使用
if
语句,如下所示:

<script type="text/template" id="tpl_listing_list_item">
    <% if(<%= address_2 %>){%>, <%= address_2 %><%}%>
</script>

, 

问题:更新到v1.3.3后,我在Javascript控制台中得到错误
Uncaught SyntaxError:Unexpected token invalible
。此功能是否已删除?删除
if
代码可修复错误。如果删除了它,还有其他方法可以实现同样的效果吗?

在您的
If
语句中,您已经跳转到插值模式,因此
是正确的,但是对于像您这样的模板,您可以使用特殊工具来清理标记:

您还可以在JavaScript代码中使用
print
。这有时比使用
更方便

var compiled=\模板(“”);
汇编({绰号:“stooge”});
=>“你好,斯多奇。”
这样你就可以减少噪音,像这样:

<script type="text/template" id="tpl_listing_list_item">
    <% if(address_2){ print(', ', address_2) } %>
</script>


演示:

打印功能一无所知。每天学习新的东西@通力:你总是引用答案中的文档来学习各种东西:)
var t = _.template('{% if(address_2){ %}, {{ address_2 }} {% } %}')
undefined
t({'address_2': 'test'});
", test "
var compiled = _.template("<% print('Hello ' + epithet); %>");
compiled({epithet: "stooge"});
=> "Hello stooge."
<script type="text/template" id="tpl_listing_list_item">
    <% if(address_2){ print(', ', address_2) } %>
</script>