Подтвердить что ты не робот

Показывать только первый элемент в списке, используя Усы

Я использую механизм шаблона уса, и я хочу отобразить первый элемент в длинном списке, но, похоже, не найти документы для этого?

если я использую:

{{# links}}<a href="{{& url}}">{{& title }}</a>{{/ links}}

Я получаю все ссылки, однако я хочу только, чтобы первый отображался, звучит легко, но я не могу найти какие-либо документы на этом.

4b9b3361

Ответ 1

Это решение работает с новой версией Mustache.js(только):

mustache.render("{{a.0}}", {a: ['hi','world']})
=> 'hi'

Ответ 2

Усы не имеет логики, из docs:

Мы называем его "без логики", потому что нет утверждений if, иначе или для циклов. Вместо этого есть только теги. Некоторые теги заменяются значением, не что иное, а другие - рядом значений. В этом документе описываются различные типы тегов Mustache.

Так что вы, по сути, хотите, это механизм для создания if link is the first, поэтому вы можете справиться с этим на стороне данных, добавив только один элемент в свои данные или добавив кусок данных, например, когда вы ставите ваши данные в вас добавляют значение типа display и устанавливают его в "inline" или "none", а затем в вашем шаблоне:

{{# links}}<a href="{{& url}}" style="display: {{display}};">{{& title }}</a>{{/ links}}

Затем, позже вы можете вызвать скриптинг на странице, чтобы изменить style.display на действие какого-либо пользователя или приложения.

Это мои первые, хотя проще всего установить data = data[0] для этого конкретного шаблона. Проблема в том, что вы, вероятно, ХОТИТЕ использовать этот список в какой-то момент, чтобы прокомментировать, что мне нужно будет больше узнать о вашем использовании и где данные будут заполняться.

Ответ 3

Решение @Millad представлено почти для меня. Использование handlebars.js, хотя я должен был использовать его с помощью скобок.

{{ a.[0] }}

= > привет

res.render('view', { a: ['hello', 'world'] })