Tengo una plantilla handlebars.js, así:
{{externalValue}}
<select name="test">
{{#each myCollection}}
<option value="{{id}}">{{title}} {{externalValue}}</option>
{{/each}}
</select>
Y esta es la salida generada:
myExternalValue
<select name="test">
<option value="1">First element </option>
<option value="2">Second element </option>
<option value="3">Third element </option>
</select>
Como se esperaba, puedo acceder a los campos id
y title
de cada elemento myCollection
para generar mi selección. Y fuera de la selección, mi externalValue
variable se imprime correctamente ("myExternalValue").
Desafortunadamente, en los textos de opciones, el externalValue
valor nunca se imprime.
Mi pregunta es: ¿cómo puedo acceder a una variable fuera del alcance de los manillares.js cada uno desde dentro del bucle?
javascript
templates
scope
each
handlebars.js
lucke84
fuente
fuente
../
repetidamente dependiendo de cuántos alcances del valor que tenga.O puede usar una ruta absoluta como esta:
fuente
Vi muchos enlaces con 404 para documentación sobre este tema.
Lo actualizo con este, está funcionando el 1 de abril de 2020 :
https://handlebarsjs.com/guide/expressions.html#path-expressions
Algunos ayudantes como #with y #each le permiten sumergirse en objetos anidados. Cuando incluye ../ segmentos en su ruta, los Manillares volverán a cambiar al contexto principal.
Aunque el nombre se imprime en el contexto de un comentario, aún puede volver al contexto principal (el objeto raíz) para recuperar el prefijo.
ADVERTENCIA
El valor exacto que ../ resolverá varía según el ayudante que está llamando al bloque. Usar ../ solo es necesario cuando el contexto cambia. Los hijos de ayudantes como {{#each}} requerirían el uso de ../ mientras que los hijos de ayudantes como {{#if}} no.
En este ejemplo, todo lo anterior hace referencia al mismo valor de prefijo aunque estén ubicados dentro de diferentes bloques. Este comportamiento es nuevo a partir de Handlebars 4, las notas de la versión analizan el comportamiento anterior, así como el plan de migración.
fuente