Описание: jsfiddle следующих действий. Скажем, у меня есть этот JSON данные:Условные обозначения на стороне клиента. Цемент с Dust.js
{
"people": [
{
"name": "Bob",
"eye-color": "Green"
},
{
"name": "Jill",
"eye-color": "Blue"
},
{
"name": "James",
"eye-color": "Green"
}
]
}
Если бы я хотел вывести все имена народов, использующих dust.js, я бы настроить шаблон так:
<ul>
{#people}
<li>{name}</li>{~n}
{/people}
</ul>
Однако, что если:
1) Я только хотел вывести имена людей с зелеными глазами? Есть ли способ сделать это, используя conditionals in dust?
2) Я только хотел вывести первые два имени, независимо от цвета глаз
3) Я только хотел вывести имя второго человека, независимо от цвета глаз
EDIT: Добавление четвертого и пятый сценарий:
4) Я только хочу, чтобы отобразить второе и третье имена (т.е. индекс X индексировать Y)
5) Я хочу только вывести первые два имени людей с зелеными глазами (скажем, список людей продолжался намного дольше, чем показанный выше 3, включая более зеленые глаза, которые не будут отображаться).
И еще один вопрос:
Скажите мой JSON имеет ключ/значение пары вроде следующего:
{ "tags": ["tag1", "tag2", "tag3"] }
Есть ли способ использовать {@eq}, чтобы проверить, если он содержит Например, «tag2»?
awesome! большое спасибо. 2 быстрых дополнения: 1) как бы вы отображали имена 2-3, только если было более трех имен? и 2) что делает {~ n}? Код, кажется, отлично работает без него – dougmacklin
1) Вы можете вложить '{@lt key = $ idx value = 3}' inside '{@gt key = $ idx value = 0}' 2) '{~ n}' добавляет новую строку, которая по умолчанию удаляет пыль. Вам, вероятно, это не нужно. – smfoote
спасибо smfoote! Я добавил еще два сценария и другой связанный с этим вопрос, не могли бы вы взглянуть и сообщить мне, если это возможно?это все, я обещаю :) – dougmacklin