我正在尝试将帮助函数添加到我的underscore
模板中。但我无法做到这一点。任何人都可以请你纠正我?
这是我的tempalate:
<script type="text/template" id="table">
<table>
<tbody>
<tr>
<% _.each(obj.titles, function(item){ %>
<td><%= item.label %>
<% }); %>
</tr>
</tbody>
</table>
</script>
这是我的js:
var viewHelper = {
getProperty: function(propertyName) {
console.log('getProperty ' + propertyName);
return propertyName;
}
};
var obj = {
"titles" : [
{"label" : "-----Totals for Month---- "},
{"label":"-----Previous Year-----"}
]
};
var template = _.template($('#table').html());
var html = _.extend(obj, viewHelper);
$('body').html(template(html));
但是我根本无法调用我的帮助函数。
请更新我的小提琴;
答案 0 :(得分:1)
它适用于您的代码。您只需在模板中使用该功能:
<script type="text/template" id="table">
<table>
<tbody>
<tr>
<% _.each(obj.titles, function(item){ %>
<td><%= item.label %></td>
<% }); %>
</tr>
<tr>
<% _.each(obj.titles, function(item){ %>
<td><%= getProperty(item.label) %></td>
<% }); %>
</tr>
</tbody>
</table>
</script>
这是一个有效的傻瓜:http://plnkr.co/edit/akeiPbQoZBjzgBsEykTi?p=preview