是否有任何优雅的方式来完成由字符(逗号、正斜杠等)分隔的值列表?
罗布、乔恩、丹、保罗
我正在使用Mustache 语法的ICanHaz JavaScript 实现。
<script id="nameTemplate" type="text/html">
    <span>Name {{#names}}{{.}} {{/names}}</span>
</script>
但这会给出不正确的结果
罗伯、乔恩、丹、保罗、
AFAIK 没有这样的内置功能,所以你可以这样做:
模板:
<script id="nameTemplate" type="text/html">
    <span>Name 
        {{#names}}
        {{name}}{{^last}},{{/last}}                            
        {{/names}}</span>
</script>
脚本:
var namesAsArrayOfObjects = {
    "names": [
      {"name": "Rob"},
      {"name": "John"},
      {"name": "Dan", "last": true}
  ]    
};
var user = ich.nameTemplate(namesAsArrayOfObjects);
$('#output').append(user);
结果在这里:http: //jsfiddle.net/alexpetrov/VS2jQ/
另一种解决方案,在我看来不太优雅:
<script id="nameTemplate" type="text/html">
    <span>Name         
        {{#names}}{{#trimed}}{{.}}{{/trimed}}{{/names}}
        </span>
</script>
<div id="output"></div>
var namesAsArrayOfStrings = {    
    "_counter": 1,
    "names": ['Rob', 'John', 'Alice'],
    "trimed": function() {            
        return function(text, render) {                            
            var text = render(text) + 
(namesAsArrayOfStrings._counter != namesAsArrayOfStrings.names.length ? "," : "");
            namesAsArrayOfStrings._counter++;
            return text;            
        }
    }   
};
var user = ich.nameTemplate(namesAsArrayOfStrings);
$('#output').append(user);