2014-01-06 4 views
9

jsrender 템플릿이 있습니다. 템플릿이 렌더링 될 때 JavaScript 함수를 호출하여 일부 데이터를 조작하려고합니다.JSRender에서 javascript 함수 호출

다음은 내 JSRender 템플릿입니다.

<tr class="template-download"> 
    <td class="size"> 
     <span>{{:size}}</span> 
    </td> 
</tr> 

는 지금은 자바 스크립트 함수에 :size 값을 전달하고 반환 값을 얻을합니다. 그래서 :size 값 대신 반환 값을 표시 할 수 있습니다.

내 자바 스크립트 함수는 내가이 작업을 수행 할 수있는 방법

function getSize(size) { 
    var megabytes = size/(1024 * 1024); 
    return megabytes.toFixed(2) + "MB"; 
} 

입니까?

답변

16

당신은 도우미 함수를 사용하여이 작업을 수행 할 수 있습니다. 나는했습니다

<tr class="template-download"> 
    <td class="size"> 
     <span>{{:size}} {{:~getSize(size)}} </span> 
    </td> 
</tr> 

:

$("#tmpl").render(data, 
        { getSize: function(size) { 
           var megabytes = size/(1024 * 1024); 
           return megabytes.toFixed(2) + "MB"; 
           } 
        } 
       ); 

그런 다음 템플릿에,이 같은 도우미 함수를 호출하면 렌더링 호출 할 때 정의하고 템플릿 '에'도우미 함수를 전달할 수 있습니다 템플릿을 사용하는 방법에 대해 몇 가지 가정을했지만이 경우 가야합니다.

This article에는 도우미 기능과 관련된 섹션이 있으며 @BorisMoore는 그의 jsViews site에서 많은 좋은 예가 있습니다.

+0

예, 감사합니다. - 그 JsViews 사이트 링크 (http://www.jsviews.com/#helpers)가 이에 대한 최상의 문서 링크입니다. – BorisMoore