конвертировать список строк в список HTML с усами - PullRequest
0 голосов
/ 05 декабря 2018

Создание списка с усами работает следующим образом :

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"}]

Можно ли работать с массивом строк с усами?

Обратите внимание: я не спрашиваю, как преобразовать мой массив в совместимый формат.Вместо этого я хотел бы накормить его усами как есть.

1 Ответ

0 голосов
/ 05 декабря 2018

С Усы readme :

При циклическом выполнении массива строк, a.может использоваться для ссылки на текущий элемент в списке.Вид:

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

Шаблон:

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

Так что в вашем случае вам нужно просто написать:

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

...