[英]Call JavaScript function from JsRender
我有一个JsRender模板。 当模板渲染时,我想调用JavaScript函数来操作一些数据。
这是我的JsRender模板。
<tr class="template-download">
<td class="size">
<span>{{:size}}</span>
</td>
</tr>
现在我想将:size
值传递给JavaScript函数并获取返回值。 所以我可以显示返回值而不是:size
value。
我的JavaScript功能是
function getSize(size) {
var megabytes = size / (1024 * 1024);
return megabytes.toFixed(2) + "MB";
}
我怎样才能做到这一点?
您可以使用辅助函数来完成此操作。 当您调用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>
我对你的模板的使用方式做了一些假设,但这应该让你顺利。
我相信你必须使用辅助功能。 请参阅下面的两个参考。 第二个是一个完全刷新的例子。
http://borismoore.github.io/jsrender/demos/step-by-step/09_helper-functions.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.