无法呈现Mustache模板

时间:2015-08-04 00:34:15

标签: javascript mustache

我有一个模板:

{{#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]作为输出。

1 个答案:

答案 0 :(得分:3)

您正在获取对象数组,但是小胡子需要对象来呈现您的模板。并且您正在更新隐藏元素的脚本标记,它不会在页面上显示任何html。我添加了新的div并且现在工作正常。这是工作JSFIDDLE

Mustache.render(template, {items:items});