我的桌面上有Name
和Status
字段,我想显示状态字段的值,有效和无效。以下是我使用的模板:
<tbody>
<% _.each(accountLists, function(account) { if (account.active == 'true') ? 'Active': 'Inactive'%>
<tr>
<td><%= account.active %></td>
</tr>
<% }) %>
</tbody>
当我跑步时,模板会抛出:
Uncaught SyntaxError: Unexpected token
为什么?
供参考,以下是我的accountView.js
var AccountList = Backbone.View.extend({
initialize: function(){
},
el:'#sub-account-list',
render: function(id){
var self = this;
var accountList = new SubAccountCollection([],{ id: id });
accountList.fetch({
success: function(accountLists){
var data = accountLists.toJSON();
var accounts = data[0].data.items;
var template = $("#sub-account-list").html(_.template(tmpl, {accounts:accounts}));
},
});
}
});
答案 0 :(得分:5)
这与下划线模板没什么关系 - 它大致会转化为:
_.each(accountLists, function(account) {
if (account.active == 'true') ? 'Active': 'Inactive'
echo ("<tr><td>" + account.active "</td></tr>");
})
我不确定你想在这里做什么,但这会让if statement与conditional operator语法混合在一起。使用
<tbody>
<% _.each(accountLists, function(account) {
if (account.active == 'true') { %>
<tr>
<td>Active</td>
</tr>
<% } else { %>
<tr>
<td>Inactive</td>
</tr>
<% }
}); %>
</tbody>
或
<tbody>
<% _.each(accountLists, function(account) { %>
<tr>
<td><%= (account.active == 'true') ? 'Active': 'Inactive' %></td>
</tr>
<% }); %>
</tbody>