javascript 如果对象在数组中,如何使用 Mustache.js?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/6292107/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-25 20:12:01 来源:igfitidea点击:
How to use Mustache.js if the object is in a array?
提问by vikingmute
i use Mustache.js succusefully display the html ,here's the code
我使用 Mustache.js 成功地显示了 html,这是代码
var mygame = {
player:'viking',
games:[{name:'d1',type:'avg'},{name:'cod7',type:'fps'},{name:'war3',type:'rts'}]
};
var template = '{{player}} is a good guy<br/> <ul>{{#games}}<li>name:{{name}} and type:{{type}} </li>{{/games}}</ul>';
var html = Mustache.to_html(template, mygame);
var con = document.getElementById('container');
con.innerHTML = html;
but how do i use it when the object is a array ,like
但是当对象是数组时我如何使用它,比如
var mygames = [{name:'d1',type:'avg'},{name:'cod7',type:'fps'},{name:'war3',type:'rts'}];
采纳答案by Nathan DeWitt
Try this:
试试这个:
var mygames = [{name:'d1',type:'avg'},{name:'cod7',type:'fps'},{name:'war3',type:'rts'}];
var mygame = {
player: 'viking',
games: mygames
}
var template = '{{player}} is a good guy<br /> <ul>{{#games}}<li>name:{{name}} and type:{{type}} </li>{{/games}}</ul>';
var html = Mustache.to_html(template, mygame);
var con = document.getElementById('container');
con.innerHTML = html;
回答by grigson
You can do it like this:
你可以这样做:
var model = [{name:'d1',type:'avg'},{name:'cod7',type:'fps'},{name:'war3',type:'rts'}];
var template = '<ul> {{#.}} <li>name:{{name}} and type:{{type}} </li> {{/.}} </ul>';
var html = Mustache.to_html(template, model);
回答by Baz1nga
you need to do something like this:
你需要做这样的事情:
var mygames = {games: [{name:'d1',type:'avg'},{name:'cod7',type:'fps'},{name:'war3',type:'rts'}]};
var template= "{{#games}} Player name: {{name}} Type: {{type}}{{/games}}";
var html = Mustache.to_html(template, mygames);
var con = document.getElementById('container');
con.innerHTML = html;
or simply loop over mygames object and append the html
或者简单地遍历 mygames 对象并附加 html
var html="";
var template= "Player name: {{name}} Type: {{type}};"
for (var i=0;i<mygames.length;i++)
{
html+=Mustache.to_html(template, mygames[i]);
}
var con = document.getElementById('container');
con.innerHTML = html;
Hope this helps
希望这可以帮助