簡體   English   中英

從JsRender調用JavaScript函數

[英]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>

我對你的模板的使用方式做了一些假設,但這應該讓你順利。

本文有一個與輔助函數相關的部分,@ BorisMoore在他的jsViews站點上有很多很好的例子。

我相信你必須使用輔助功能。 請參閱下面的兩個參考。 第二個是一個完全刷新的例子。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM