Усы. Как обнаружить массив не пуст?
Я хочу реализовать следующую логику с Усы:
{{#if users.length > 0}}
<ul>
{{#users}}
<li>{{.}}</li>
{{/users}}
</ul>
{{/if}}
// eg. data = { users: ['Tom', 'Jerry'] }
Должен ли я изменить структуру users
для удовлетворения потребностей? Например:
{{#hasUsers}}
<ul>
{{#users}}
<li>{{.}}</li>
{{/users}}
</ul>
{{/hasUsers}}
// eg. data = { hasUsers: true, users: ['Tom', 'Jerry'] }
Ответы
Ответ 1
Извините, это может быть слишком поздно. Но у меня было подобное требование и нашлось лучший способ сделать это:
{{#users.length}}
<ul>
{{#users}}
<li>{{.}}</li>
{{/users}}
</ul>
{{/users.length}}
{{^users.length}}
<p>No Users</p>
{{/users.length}}
Рабочий пример здесь: http://jsfiddle.net/eSvdb/
Ответ 2
Использование {{# users.length}} отлично работает, если вы хотите, чтобы внутренний оператор повторялся для каждого элемента массива, но если вы хотите, чтобы оператор выполнял только один раз, вы можете Применение:
{{#users.0}}
...
{{/users.0}}
{{^users.0}}
...
{{/users.0}}