2012-03-03 61 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