如何在mustache标记中呈现对象数组

时间:2012-05-22 06:28:26

标签: javascript html mustache

我有一个对象数组,如下所示:

 var games_string = new Array();
 games_string[0] = { display_name: "sanket" };
 games_string[1] = { display_name: "sky" };

我想在html页面中的mustache标记中呈现这个对象数组。 我引用了这个网站http://mustache.github.com/mustache.5.html并找到了这个解决方案,但它没有用......

 <table>
 <tr>
 {{#games_string}}
     <td>
        <b>{{display_name}}</b>
    </td>
 {{/games_string}}
 </tr>
 <table>

1 个答案:

答案 0 :(得分:1)

fine manual中的示例列出了基本用法:

var view = {
  title: "Joe",
  calc: function () {
    return 2 + 4;
  }
};

var output = Mustache.render("{{title}} spends {{calc}}", view);

如果您的模板位于tmpl,那么您需要执行以下操作:

var data = {
    games_string: [
        { display_name: "sanket" },
        { display_name: "sky" }
    ]
};
var html = Mustache.render(tmpl, data);

您需要为render提供一个对象,以便将名称与值相关联,否则Mustache将不知道{{#games_string}}应该在模板中引用什么。仅仅创建一个名为games_string的变量是不够的,你必须告诉Mustache哪些数据应该与模板中的games_string名称相关联。

演示:http://jsfiddle.net/ambiguous/9y7ju/