我有一个JsRender模板。当模板渲染时,我想调用JavaScript函数来操作一些数据。
这是我的JsRender模板。
<tr class="template-download">
<td class="size">
<span>{{:size}}</span>
</td>
</tr>
现在我想将:size
值传递给JavaScript函数并获取返回值。所以我可以显示返回值而不是:size
值。
我的JavaScript功能是
function getSize(size) {
var megabytes = size / (1024 * 1024);
return megabytes.toFixed(2) + "MB";
}
我该怎么做?
答案 0 :(得分:17)
您可以使用辅助功能执行此操作。当您调用render时,您可以定义帮助函数并将其传递到您的模板中:
$("#tmpl").render(data, {
getSize: function(size) {
var megabytes = size / (1024 * 1024);
return megabytes.toFixed(2) + "MB";
}
});
然后,在您的模板中,您可以像这样调用辅助函数:
<tr class="template-download">
<td class="size">
<span>{{:size}} {{:~getSize(size)}} </span>
</td>
</tr>
我对你的模板的使用方式做了一些假设,但这应该可以帮助你。
This article有一个与帮助函数相关的部分,而@BorisMoore在他的jsViews site上有很多很好的例子。
答案 1 :(得分:0)
我相信你必须使用辅助函数。请参阅下面的两个参考。第二个是一个完全刷新的例子。
http://borismoore.github.io/jsrender/demos/step-by-step/09_helper-functions.html