2012-03-03 65 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! – 2012-12-12 10:06:30

回答

5

您需要命名輸入數組是這樣的:

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

非常感謝!我能問你解釋爲什麼嗎? – Costa 2012-03-03 19:39:22

+0

如果您不指定數組,那麼模板引擎現在將如何引用{{#mak}} {{/ musk}}。函數調用中使用的變量名對引擎不可見。 – ebaxt 2012-03-03 19:43:05

+0

嗯...好吧,呃!所以,我的更高層次的問題是模板與數據具有許多嵌套層次: jsondata = { 「稱號」:「博客文章標題」, 「標籤」:「好玩」,「烹飪」,「技術」] }; 我會盡力爲此發佈一個單獨的問題。非常感謝! – Costa 2012-03-03 20:51:49