-2

underscore 템플릿에 도우미 기능을 추가하려고합니다. 그러나 나는 이것을 할 수 없다. 어느 누구도 나를 교정 해 줄 수 있니? 여기 `underscorejs` 템플릿에 도우미를 추가하는 방법은 무엇입니까?

<script type="text/template" id="table"> 
    <table> 
     <tbody> 
      <tr> 
       <% _.each(obj.titles, function(item){ %> 
        <td><%= item.label %> 
       <% }); %> 
      </tr> 
     </tbody> 
    </table> 
</script> 

내 JS입니다 : 여기

내 tempalate입니다 ..

var viewHelper = { 
    getProperty: function(propertyName) { 
     console.log('getProperty ' + propertyName); 
     return propertyName; 
    } 
}; 

var obj = { 
    "titles" : [ 
      {"label" : "-----Totals for Month---- "}, 
      {"label":"-----Previous Year-----"} 
    ] 
}; 

var template = _.template($('#table').html()); 

var html = _.extend(obj, viewHelper); 

$('body').html(template(html)); 

하지만 전혀 내 도우미 함수에서 모든 통화를 얻을 수 아니다

내 바이올린을 업데이트하십시오.

fiddle

+0

귀하의 템플릿을 getProperty', 당신은 당신의 템플릿에'getProperty'를 호출 시도'사용하지 않는 이유는 무엇입니까? –

답변

1

그것은 당신의 코드가 잘 작동합니다. 당신은 당신의 템플릿 기능을 사용할 수 있습니다

<script type="text/template" id="table"> 
    <table> 
     <tbody> 
      <tr> 
       <% _.each(obj.titles, function(item){ %> 
        <td><%= item.label %></td> 
       <% }); %> 
      </tr> 
      <tr> 
       <% _.each(obj.titles, function(item){ %> 
        <td><%= getProperty(item.label) %></td> 
       <% }); %> 
      </tr> 
     </tbody> 
    </table> 
</script> 

이 작업 plunkr입니다 : http://plnkr.co/edit/akeiPbQoZBjzgBsEykTi?p=preview

관련 문제