Мой объект выглядит так:
['foo','bar','baz']
И я хочу использовать шаблон усов, чтобы получить из него что-то вроде этого:
"<ul><li>foo</li><li>bar</li><li>baz</li></ul>"
Но как? Неужели я действительно должен сначала сделать что-то вроде этого?
{list:['foo','bar','baz']}
javascript
mustache
Greim
источник
источник
Mustache.render('<ul>{{#.}}<li>{{.}}</li>{{/.}}</ul>',['foo','bar','baz']);
{{.}}
,{{1}}
или ничего похожего в усах (5).У меня была такая же проблема сегодня утром, и после небольшого эксперимента я обнаружил, что вы можете использовать {{.}} Для ссылки на текущий элемент массива:
источник
Mustache.render('<ul>{{#.}}<li>{{.}}</li>{{/.}}</ul>',['foo','bar','baz']);
Mustache.render('<ul>{{#.}}{{.}}{{/.}}</ul>', {yourList: ['foo','bar','baz']});
Основываясь на ответе @danjordan, это будет делать то, что вы хотите:
возвращение:
источник
{a:'foo',b:'bar',c:'baz'}
... Как делать анонимные ссылки при итерации по объектам?Ниже приведены примеры визуализации многомерного массива в шаблоне:
Пример 1
Пример 2
Для тестового запуска сохраните приведенные выше примеры в файле с именем test.js, выполните следующую команду в командной строке
источник
Не думаю, что усы на это способны! (удивительно) Вы можете перебирать список объектов, а затем обращаться к атрибутам каждого объекта, но вы не можете перебирать простой список значений!
Итак, вам нужно преобразовать свой список в:
и тогда ваш шаблон будет:
Мне это кажется серьезной проблемой с Mustache - любая система шаблонов должна иметь возможность перебирать список простых значений!
источник