- arrayify
-
after
-
any
-
before
-
each
-
empty
- first
-
inArray
-
join
-
last
-
length
-
lengthEqual
-
sort
-
withAfter
-
withBefore
-
withFirst
-
withGroup
-
withLast
-
withSort
{{arrayify}}
Returns all of the items in the collection after the specified count.
Parameters: count int
- How many items to omit from the beginning. (Required)
Data:
"value": [ 123 Street, Plaza Area, London, W1]
Template:
{{#each (arrayify this ":")}}
{{this}} {{/each}}
Renders to:
123 Street, Plaza Area, London W1
{{
{{after}}
Returns all of the items in the collection after the specified count.
Parameters: count int
- How many items to omit from the beginning. (Required)
Data:
"collection": [ "Amy Wong", "Bender", "Dr. Zoidberg", "Fry", "Hermes Conrad", "Leela", "Professor Farnsworth", "Scruffy" ]
Template:
{{after collection 5}}
Renders to:
Leela, Professor Farnsworth, Scruffy
{{ {{any}}
Conditionally render a block if the collection isn't empty. Opposite of empty
Parameters: none
Data:
"collection": ["Professor Farnswor"]
Templates:
{{#any collection}} Good news everyone! {{else}} Bad news everyone! {{/any}}
Renders to:
Good news everyone!
{{ {{before}}
Returns all of the items in the collection before the specified count. Opposite of after
.
Parameters: count int
- How many items to omit from the end. (Required)
Small tip: use negative parameter to return first n
elements of array Data:
"collection": [ "Amy Wong", "Bender", "Dr. Zoidberg", "Fry", "Hermes Conrad", "Leela", "Professor Farnsworth", "Scruffy" ]
Template:
{{before collection 5}}
Renders to:
Amy Wong, Bender, Dr. Zoidberg
{{ {{each}}
Use {{#each collection as |value key| }}
or @index
/ @key
in each
Current implementation of the default Handlebars loop helper {{#each}} adding index (0-based index) to the loop context.
Parameters: none
Data:
"collection": ["Professor Farnsworth", "Fry", "Bend"]
Template:
{{#each collection}} {{this}} is {{index}} {{/each}}
Renders to:
Professor Farnsworth is 0, Fry is 1, Bender is 2
{ {{empty}}
Conditionally render a block if the collection is empty.
Parameters: none
Data:
"collection": []
Template:
{{#empty collection}} Good news everyone! {{else}} Bad news everyone! {{/empty}}
Renders to:
Good news everyone!
{{{{first}}
Returns the first item in a collection.
Parameters: none
Data:
"collection": [ "Amy Wong", "Bender", "Dr. Zoidberg", "Fry", "Hermes Conrad", "Leela", "Professor Farnsworth", "Scruffy" ]
Template:
{{first collection}}
Renders to:
Amy Wong
{{ {{inArray}}
Conditionally render a block if a specified value is in the collection.
Parameters: value string|int
- A value to test against. (Required)
Data:
"collection": ["Professor Farnsworth", "Fry", "Bend"]
Template:
{{#inArray collection "Fry"}} I'm walking on sunshine! {{else}} I'm walking on darkness. {{/inArray}}
Renders to:
I'm walking on sunshine!
{{ {{join}}
Joins all elements of a collection into a string using a separator if specified. Parameters: separatorstring
- A string to use as a separator between the items. (Optional)
Data:
"collection": [ "Amy Wong", "Bender", "Dr. Zoidberg", "Fry", "Hermes Conrad", "Leela", "Professor Farnsworth", "Scruffy" ]
Template:
{{join collection " & "}}
Renders to:
Amy Wong & Bender & Dr. Zoidberg & Fry & Hermes Conrad & Leela & Professor Farnsworth & Scruffy
{{{last}}
Returns the last item in a collection. Opposite of first
.
Parameters: none
Data:
"collection": [ "Amy Wong", "Bender", "Dr. Zoidberg", "Fry", "Hermes Conrad", "Leela", "Professor Farnsworth", "Scruffy" ]
Template:
{{last collection}}
Renders to:
Scruffy
{{ {{length}}
Returns the length of the collection.
Parameters: none
Data:
"collection": [ "Amy Wong", "Bender", "Dr. Zoidberg", "Fry", "Hermes Conrad", "Leela", "Professor Farnsworth", "Scruffy" ]
Template:
{{length collection}}
Renders to:
8
{{{{lengthEqual}}
Conditionally render a block based on the length of a collection.
Parameters: length int
- The value to test against. (Required)
Data:
"collection": [ { "name": "Leela", "deliveries": 8021 }, { "name": "Bender", "deliveries": 239 }, { "name": "Fry", "deliveries": -12 } ]
Template:
{{#lengthEqual collection 3}} There are 3 people in Planet Express. {{else}} This is not Planet Express. {{/lengthEqual}}
Renders to:
There are 3 people in Planet Express.
{{ {{sort}}
Returns the collection sorted. Parameters: none
Data:
"collection": [ "Amy Wong", "Bender", "Dr. Zoidberg", "Fry", "Hermes Conrad", "Leela", "Professor Farnsworth", "Scruffy" ]
Template:
{{sort collection}}
Renders to:
Amy Wong, Bender, Dr. Zoidberg, Fry, Hermes Conrad, Leela, Professor Farnsworth, Scruffy
{{ {{withAfter}}
Use all of the items in the collection after the specified count inside a block.
Parameters: count int
- How many items to omit from the beginning. (Required)
Data:
"collection": [ "Amy Wong", "Bender", "Dr. Zoidberg", "Fry", "Hermes Conrad", "Leela", "Professor Farnsworth", "Scruffy" ]
Template:
{{#withAfter collection 5}} {{titleize this}} {{/withAfter}}
Renders to:
Leela Professor Farnsworth Scruffy
{{ {{withBefore}}
Use all of the items in the collection before the specified count inside a block. Opposite ofwithAfter
.
Parameters: count int
- How many items to omit from the end. (Required)
Small tip: use negative parameter to return first n
elements of array
Data:
"collection": [ "Amy Wong", "Bender", "Dr. Zoidberg", "Fry", "Hermes Conrad", "Leela", "Professor Farnsworth", "Scruffy" ]
Template:
{{#withBefore collection 5}} {{reverse this}} {{/withBefore}}
Renders to:
gnoW ymA redneB grebdioZ .rD
{{ {{withFirst}}
Use the first item in a collection inside a block.
Parameters: none
Data:
"collection": [ "Amy Wong", "Bender", "Dr. Zoidberg", "Fry", "Hermes Conrad", "Leela", "Professor Farnsworth", "Scruffy" ]
Template:
{{#withFirst collection}} <p>{{this}} is smart.</p> {{/withFirst}}
Renders to:
<p>Amy Wong is smart.</p>
{{ {{withLast}}
Use the last item in a collection inside a block. Opposite of withFirst
.
Parameters: none
Data:
"collection": [ "Amy Wong", "Bender", "Dr. Zoidberg", "Fry", "Hermes Conrad", "Leela", "Professor Farnsworth", "Scruffy" ]
Template:
{{#withLast collection}} <p>{{this}} is lazy.</p> {{/withLast}}
Renders to:
<p>Scruffy is lazy.</p>
{{ {{withSort}}
Uses the sorted collection inside the block.
Parameters: field string
- String name of the field or property to sort by. (Optional)
Data:
"collection": [ { "name": "Leela", "deliveries": 8021 }, { "name": "Bender", "deliveries": 239 }, { "name": "Fry", "deliveries": -12 } ]
Template:
{{#withSort collection "deliveries"}}
{{name}}: {{deliveries}} <br>
{{/withSort}}
Renders to:
Fry: -12 Bender: 239 Leela: 8021
Also, if you have the sortable variable inside another variable, you can use dot-notation (e.g.{{deliveries.value}}
) to sort.
Data:
{ "collection": [ { "name": "Leela", "deliveries": {"value": 8021, "priority": "high"} }, { "name": "Bender", "deliveries": {"value": 239, "priority": "normal"} }, { "name": "Fry", "deliveries": {"value": -12, "priority": "low"} } ] }
Template:
{{#withSort collection "deliveries.value"}}
{{name}}: {{deliveries.value}} <br>
{{/withSort}}
Renders to:
Fry: -12
Bender: 239
Leela: 8021