Документация на пыль просто ужасна, я уже просмотрел все, что могу найти, и не могу понять, как это должно работать.
У меня возникла эта проблема с предполагаемыми специальными значениями $idx и $len, которые, если я правильно догадался, возвращают текущий индекс, итерации по сектору, подобному массиву, и длине упомянутого массива. У меня есть условие @if (несколько на самом деле), которое я пытаюсь настроить для форматирования шаблона, и значения просто не работают так близко, как я могу сказать, что приводит меня к следующим вопросам:
- Являются ли $idx и $len актуальными в dust.js?
- Можете ли вы использовать их в @if, и если да, то как?
- Предполагая, что 1 = истина, равна $idx на основе нуля?
Вот мой шаблон:
{#myArray}
{name}{@sep}, {/sep}{@if cond="('{$idx}' == '{$len} - 2')"}and {/if}{@if cond="('{$idx}' == '{$len} - 1')"}{@if cond="('{$len}' == '1')"} is {:else} are {/if}here.{/if}
{/myArray}
Что он должен делать:
- Если есть один человек, отрисуйте строку "Джейк здесь".
- Если есть два человека, отрисуйте строку "Джейк и Джон здесь".
- Если есть три или более человека, отрисуйте строку "Джейк, Джон и Билл". (очевидно, при необходимости добавляя имена, разделенные запятыми)
Если специальные функции $idx и $len работают так, как можно было бы подумать, что они работают, этот шаблон будет делать то, что я хочу, насколько я могу судить, однако, я не думаю, что любой из $idx или $len (или оба). Если это не так, как мне создать шаблон, который делает то, что я хочу?