从JsRender调用JavaScript函数

我有一个JsRender模板。 当模板渲染时,我想调用JavaScript函数来操作一些数据。

这是我的JsRender模板。

  {{:size}}   

现在我想将:size值传递给JavaScript函数并获取返回值。 所以我可以显示返回值而不是:size value。

我的JavaScriptfunction是

 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"; } }); 

然后,在您的模板中,您可以像这样调用辅助函数:

   {{:size}} {{:~getSize(size)}}    

我已经对你的模板的使用方式做了一些假设,但这应该让你顺利。

本文有一个与辅助函数相关的部分,而@BorisMoore在他的jsViews站点上有很多很好的例子。

我相信你必须使用辅助function。 请参阅下面的两个参考。 第二个是一个完全刷新的例子。

http://borismoore.github.io/jsrender/demos/step-by-step/09_helper-functions.html