我有一个模板:
{{#items}}
<div id="{{dataId}}">
<p>{{firstName}}</p>
<p>{{sex}}</p>
</div>
{{/items}}
以及从服务器检索的对象数组:
dataId : 128 firstName : 'john' sex : 'Male'
dataId : 203 firstName : 'doe' sex : 'Female'
..
我正在尝试使用带有render()
的Mustache模板来渲染它,如:
success: function(items){
var template = $('#movie_template').html(); --- step 1
var output = Mustache.render(template, items); --- step 2
$('#movie_template').html(output); --- step 3
}
问题是render
函数返回空字符串作为输出而不是渲染html(步骤2)。
注意:在控制台日志中打印ajax结果,将Array [12]作为输出。
答案 0 :(得分:3)
您正在获取对象数组,但是小胡子需要对象来呈现您的模板。并且您正在更新隐藏元素的脚本标记,它不会在页面上显示任何html。我添加了新的div并且现在工作正常。这是工作JSFIDDLE
Mustache.render(template, {items:items});