Hash Expression
[PROPERTY_NAME=EXPRESSION ]+
A sequence of one or more property names and their values as another expression like:
prop1=1 prop2=key prop3=callExpression()
In a Call Expression, Hash expressions
create an object argument with the specified PROPERTY_NAME properties
and EXPRESSION values.
The following template:
{{ method( age=5 first=person.firstName last=person.getLastName() ) }}
Might call method with:
{ age: 5, first: "Justin", last: "Meyer" }
In a Helper Expression, Hash expressions
add to the helperOptions’s hash object with the specified PROPERTY_NAME properties
and EXPRESSION values.
The following template:
{{ method age=5 first=person.firstName last=person.getLastName() }}
Might call method with:
{
hash: { age: 5, first: compute( "Justin" ), last: compute( "Meyer" ) }
}
Parameters
- PROPERTY_NAME
{String}:The property name on the call expression argument object or helperOptions’s
hashobject. - EXPRESSION
{Literal Expression|KeyLookup Expression|Call Expression}:An expression that provides a value for the property name.
Use
A hash expression specifies a property value on a object argument in a call expression and property value on the the hash object in a helper expression’s helperOptions argument.
For example, in a call expression:
<!-- Template -->
{{methodA(prop=key)}}
{{methodB(propX=key propY='literal', propZ=5)}}
{
methodA: function( arg ) {},
methodB: function( arg1, arg2 ) {},
key: compute( "value" )
}
methodAwill be called with{prop: "value"}asarg.methodBwill be called with{propX: "value", propY: 'literal'}asarg1and{propZ: 5}asarg2
In a helper expression:
<!-- Template -->
{{methodA prop=key}}
{{methodB(propX=key propY='literal' propZ=5)}}
{
methodA: function( options ) {},
methodB: function( options ) {},
key: compute( "value" )
}
methodAwill be called with{prop: compute("value")}asoptions.hash.methodBwill be called with{propX: "value", propY: 'literal', propZ: 5}asoptions.hash.