I have a handlebars.js template, just like this:
{{externalValue}}
<select name="test">
{{#each myCollection}}
<option value="{{id}}">{{title}} {{externalValue}}</option>
{{/each}}
</select>
And this is the generated output:
myExternalValue
<select name="test">
<option value="1">First element </option>
<option value="2">Second element </option>
<option value="3">Third element </option>
</select>
As expected, I can access the id
and title
fields of every element of myCollection
to generate my select. And outside the select, my externalValue
variable is correctly printed ("myExternalValue").
Unfortunately, in options' texts, externalValue
value is never printed out.
My question is: how can I access a variable outside the scope of the handlebars.js each from within the loop?
I have a handlebars.js template, just like this:
{{externalValue}}
<select name="test">
{{#each myCollection}}
<option value="{{id}}">{{title}} {{externalValue}}</option>
{{/each}}
</select>
And this is the generated output:
myExternalValue
<select name="test">
<option value="1">First element </option>
<option value="2">Second element </option>
<option value="3">Third element </option>
</select>
As expected, I can access the id
and title
fields of every element of myCollection
to generate my select. And outside the select, my externalValue
variable is correctly printed ("myExternalValue").
Unfortunately, in options' texts, externalValue
value is never printed out.
My question is: how can I access a variable outside the scope of the handlebars.js each from within the loop?
I have a handlebars.js template, just like this:
{{externalValue}}
<select name="test">
{{#each myCollection}}
<option value="{{id}}">{{title}} {{externalValue}}</option>
{{/each}}
</select>
And this is the generated output:
myExternalValue
<select name="test">
<option value="1">First element </option>
<option value="2">Second element </option>
<option value="3">Third element </option>
</select>
As expected, I can access the id
and title
fields of every element of myCollection
to generate my select. And outside the select, my externalValue
variable is correctly printed ("myExternalValue").
Unfortunately, in options' texts, externalValue
value is never printed out.
My question is: how can I access a variable outside the scope of the handlebars.js each from within the loop?
I have a handlebars.js template, just like this:
{{externalValue}}
<select name="test">
{{#each myCollection}}
<option value="{{id}}">{{title}} {{externalValue}}</option>
{{/each}}
</select>
And this is the generated output:
myExternalValue
<select name="test">
<option value="1">First element </option>
<option value="2">Second element </option>
<option value="3">Third element </option>
</select>
As expected, I can access the id
and title
fields of every element of myCollection
to generate my select. And outside the select, my externalValue
variable is correctly printed ("myExternalValue").
Unfortunately, in options' texts, externalValue
value is never printed out.
My question is: how can I access a variable outside the scope of the handlebars.js each from within the loop?
Not an answer to the original question, but I faced a similar problem - I have a custom helper that was not rendering the variables inside of it.
My helper was similar to the handlebars if
helper, so it should not have needed the ../path
syntax. Turns out I was using a fat arrow function when registering the helper, and this
is different inside a fat arrow function .
Handlebars.registerHelper('ifeq', (v1, v2, options) => {
to
Handlebars.registerHelper('ifeq', function (v1, v2, options) {
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.