List
Use the List
tag to create a list of items.
Give it a unique name with the name
attribute or as the first argument.
<List name=numbers>
<Item>1</Item>
<Item>2</Item>
</List>
The Item
tag defines each item. There are two ways to pass a value to the Item
tag:
- by inner content
<Item>...</Item>
- by attribute
<Item value="..." />
They work the same, except the former method may be better for strings that contain HTML.
The above example in JavaScript notation looks like:
[
1,
2
]
Map inside list
Use the Map
tag to set a map as an item.
<List name=numbers>
<Map>
<Key one_one>1.1</Key>
<Key one_two>1.2</Key>
</Map>
<Map>
<Key two_one>2.1</Key>
<Key two_two>2.2</Key>
</Map>
</List>
The above example in JavaScript notation looks like:
[
{
one_one: '1.1',
one_two: '1.2'
},
{
two_one: '2.1',
two_two: '2.2'
}
]
List from JSON
Set the json
attribute to create a list from JSON string.
<List name=numbers json>
[
'one',
'two'
]
</List>
It accepts Human JSON syntax, which supports comments, single quotes, and unquoted keys.
List loop
Use the Loop
tag and the list
attribute to loop through items of a list.
The Field
tag gets each item.
<Loop list=numbers>
<Field />
</Loop>
Loop items
There's an attribute items
as a quick way to loop through a list of comma-separated items.
<Loop items=red,green,blue>
<Field />
</Loop>
List field
Use the Field
tag with list
and item
attributes to get a single value by index.
The item
attribute is a number starting from 1.
First: <Field list=numbers item=1 />
Second: <Field list=numbers item=2 />
Dynamic index
Alternatively, use the name
attribute with index starting from 0. This can be useful for getting an item by dynamic index, for example, using the Math tag.
<Field name="{Get index}" list=numbers />
Get list
Use the Get
tag and the list
attribute to get the whole list.
<Get list=numbers />
This outputs a JSON encoded string.