2012-03-03 4 views
1

내가 뭘 잘못하고 있니? 배열 위에 콧수염 렌더()가 작동하지 않습니다.

<!doctype html> 
<html> 
<head> 
    <title>Testing</title> 
    <script src="mustache.js"></script> 
</head> 
<body> 

<script type="text/javascript"> 
    var musk = ["athos", "porthos", "some other guy"]; 

    var output = Mustache.render("<div>The three <br>{{#musk}}<p>{{.}}</p>{{/musk}}<br> Those guys</div>", musk); 

    console.log(output); 

</script> 

</body> 
</html> 

이 나를 제공 :

<div>The three <br><br> Those guys</div> 

을 제가 잘못 본게 아니라면, 나는 거의 동일하게 GitHub의 페이지에서 예를 복사하고 있습니다. 또한, 나는 HTML이 템플릿 내부에서 허용된다는 것을 확신한다. 권리?

+1

총사가 D' Artaganan없이 완전하지 않습니다! –

답변

5

당신은 다음과 같이 입력 배열의 이름을 지정해야합니다

var musk = {musk: ["athos", "porthos", "some other guy"]}; 
+0

정말 고마워요! 이유를 설명해 줄 것을 부탁 할 수 있을까요? – Costa

+0

배열의 이름을 지정하지 않으면 템플릿 엔진이 {{#musk}} {{musk}}을 (를) 참조하는 대상을 어떻게 변경합니까? 함수 호출에 사용 된 변수 이름은 엔진에서 볼 수 없습니다. – ebaxt

+0

흠 ... 좋아, 잡았다! 따라서 상위 수준의 문제는 데이터가 포함 된 템플릿이 많은 중첩 수준을 가지고 있습니다. jsondata = { "제목": "블로그 게시물 제목", "태그": [ "fun", "cooking", "technical"] }; 나는 그것에 대해 별도의 질문을 게시하려고합니다. 정말 고마워! – Costa

관련 문제