2011-08-09 1 views
11
템플릿은 {{각}} 지시어는이 같은 배열 반복 위대한 작품

: 반복에 대한 동등한 존재하는 경우은 내가 할 수있는 jQuery를-tmpl 개체 속성에 대한 각

var myArray = ["a","b","c"]; 

내가 궁금하네요 개체 속성, 즉 이상 : I 출력 내게 할 것이다 템플릿을 싶습니다

var myObj = {"propOne": "a", "propTwo": "b", "propThree": "c"}; 

<ul> 
    <li><span>propOne</span><span>a</span></li> 
    .... etc 

보너스 포인트를 얻으려면 KnockoutJS에서이 템플릿을 사용하고 싶습니다.

답변

11

사실 {{each}}는 개체의 속성을 따라갑니다. 당신은 같은 것을 할 수 있습니다 : 여기

{{each(prop, val) myObj}} 
     <li><span>${prop}</span> - <span>${val}</span></li> 
{{/each}} 

가 넉 아웃의 샘플입니다 http://jsfiddle.net/rniemeyer/rpMsM/

당신이 정말로 바인딩 템플릿의 foreach 옵션을 사용하려는 경우, 유일한 옵션은 객체를 매핑하는 것이다 키/값 속성이있는 객체의 배열에 적용됩니다. 이런 식으로 뭔가가 : http://jsfiddle.net/rniemeyer/rpMsM/1/

+0

현기증을 사용할 수 있습니다, 그 폭탄입니다! =) –

7

또한 최대이

{{each myObj}} 
     <li><span>${$index}</span> - <span>${$value}</span></li> 
{{/each}} 
+0

변수 "$"에서 하나의 기호를 제거해야합니다. '$ {$ index}부터 $ {index} '까지 저에게 도움이 되었어요. –