将字符串列表转换为带有小胡子的html列表

时间:2018-12-05 17:05:57

标签: javascript mustache

使用小胡子works like this创建列表:

const Mustache = require('mustache');

let template = `
    {{#repo}}
        <b>{{name}}</b>
    {{/repo}}
`

let context={
    repo:[
        {name: "John"},
        {name: "Lisa"},
        {name: "Darth Vader"}
    ]
}
console.log(Mustache.render(template, context))

它创建:

<b>John</b>
<b>Lisa</b>
<b>Darth Vader</b>

我的问题是:我想直接处理字符串列表。 但这似乎与小胡子不兼容。如果它不是对象列表,那么我在模板中没有要使用的名称:

// my data is just a list of strings
let my_data = ["a", "b", "c", "d"]

// to make it compatible with Mustache, it has to become a list of objects
let mustache_version=[{el: "a"}, {el: "b"}, {el: "c"}, {el: "d"}]

是否可以使用Mustache处理字符串数组?

请注意:我并不是在问如何将数组转换为兼容格式。相反,我想按原样将其喂入Moustache。

1 个答案:

答案 0 :(得分:2)

来自mustache readme

  

当遍历字符串数组时,一个。可用于引用列表中的当前项目。   查看:

     

{ "musketeers": ["Athos", "Aramis", "Porthos", "D'Artagnan"] }

     

模板:

     

{#musketeers}} * {{.}} {{/musketeers}}

因此,在您的情况下,您只需要编写:

{{#repo}} <b>{{.}}</b> {{/repo}}