gre*_*eim 106 javascript mustache
我的对象看起来像这样:
['foo','bar','baz']
Run Code Online (Sandbox Code Playgroud)
我想使用胡子模板从中产生这样的东西:
"<ul><li>foo</li><li>bar</li><li>baz</li></ul>"
Run Code Online (Sandbox Code Playgroud)
但是怎么样?我真的必须先把它搞得像这样吗?
{list:['foo','bar','baz']}
Run Code Online (Sandbox Code Playgroud)
Dan*_*dan 168
你可以这样做......
Mustache.render('<ul>{{#.}}<li>{{.}}</li>{{/.}}</ul>', ['foo','bar','baz']);
Run Code Online (Sandbox Code Playgroud)
它也适用于这样的事情......
var obj = [{name: 'foo'}, {name: 'bar'}];
var tmp = '<ul>{{#.}}<li>{{name}}</li>{{/.}}</ul>';
Mustache.render(tmp, obj);
Run Code Online (Sandbox Code Playgroud)
And*_*ull 110
今天早上我有同样的问题和一个小实验后,我发现,你可以使用{{}}引用数组的当前元素:
<ul>
{{#yourList}}
<li>{{.}}</li>
{{/yourList}}
</ul>
Run Code Online (Sandbox Code Playgroud)
以@danjordan 的回答为基础,这将满足您的需求:
Mustache.render('<ul>{{#.}}<li>{{.}}</li>{{/.}}</ul>',['foo','bar','baz']);
Run Code Online (Sandbox Code Playgroud)
返回:
<ul><li>foo</li><li>bar</li><li>baz</li></ul>
Run Code Online (Sandbox Code Playgroud)