The documentation on dust is just awful, I've already perused everything I can possibly find and cannot figure out how this is supposed to work.
I'm having this problem with the supposed special values $idx and $len, which, if I have guessed correctly, return the current index while iterating over an array-like section and the length of said array-like section. I have an @if condition (multiple actually) that I'm trying to workout to format a template, and the values are just not working as near as I can tell, which brings me to the following questions:
Here is my template:
{#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}
What it's supposed to do:
If the $idx and $len specials work the way one would think they work, this template would do what I want it to, as near as I can tell, however, I don't think either of $idx or $len (or both) are implemented. If they are not, how do I create a template that does what I want?
But according to the dustjs-linkedin wiki (under the @if section), they cannot be used inside lists of primitives. In such cases you must use the following syntax:
{@idx}{.}{/idx}
Same applies with length. So, you're template would something like the template in this jsFiddle.
3.Yes, $idx and @idx are zero based. (See here for more info).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With