2012-03-25 2 views
3

Hogan.js를 사용하여 객체의 키와 값을 반복 할 수 있습니까? 필자는 이러한 문서화 된 기능을 찾을 수 없으며 배열에 대한 반복 만 문서화 된 것으로 보입니다. hogan.js (또는 다른 moustache.js 구현)의 객체를 반복 할 수 있습니까?Hogan.js의 키/값을 반복합니다.

답변

4

는 방법이 없습니다 :

var data = { 'list' : [{ 'name' : 'dhg'}, {'name' : 'abc'}] }; 
var template = Hogan.compile("{{#list}} {{name}} {{/list}}"); 
var output = template.render(data); 
console.log(output); 

당신이있어 행동에서 볼 수 있습니다 Hogan.js에있는 객체의 키와 값을 직접 반복하기 위해서 sub_stantial이하는 일은 배열을 반복적으로 반복하는 것입니다.

원하는대로 프리 렌더 코드가 필요합니다. 당신이 { k1: "v1", k2: "v2" } 인 객체 o를 가지고 있다고 가정하십시오. 그리고 당신은 당신 만 (_ underscore 라이브러리)이 필요합니다, 당신의 렌더링 템플릿 k1 has value v1; k2 has value v2; 할 것을 권장합니다

var oAsList = []; 
_.each(_.keys(oAsList), function (k) { 
    oAsList.push({ key: k, value: o[k] }); 
}) 

그리고 트릭을 수행하는 콧수염 템플릿입니다
{{#oAsList}} {{key}} has value {{value}}; {{/oAsList}}