Capisco come attraversare l'origine dati all'interno di Handlebars ma sono incappato in una situazione che non riesco a risolvere.Handlebars.js - Ottenere il contesto genitore all'interno di ogni ciclo, un'istruzione if e un oggetto figlio
Utilizzando "../" è possibile raggiungere l'ambito del modello principale ma, durante l'iterazione attraverso il figlio di un oggetto, sembra restituire l'oggetto e non il figlio.
{{#each content.items}}
{{#if prop}}
<p>{{prop}} + {{../../variable}}</p>
{{/if}}
{{/each}}
Il frammento di codice di cui sopra funziona bene se eseguire iterazioni attraverso un oggetto chiamato 'contenuto', ma non appena si scorre attraverso di essa del bambino, 'content.items' non è più restituisce l'ambito giusto.
Ecco un violino che dimostra il problema. http://jsfiddle.net/sidonaldson/MDdn2/
Qualcuno può far luce su ciò che è sbagliato?
Non sono del tutto sicuro di cosa stia succedendo con il codice corrente, ma una soluzione semplice sarebbe usare l'helper '{{with}}' per salvare l'ambito esterno. Probabilmente sarebbe anche più facile da leggere. – GJK
GJK - se vuoi dimostrarlo in una risposta lo contrassegnerò come tale. Sembra come quello di cui ho bisogno! – sidonaldson
'# if' crea un nuovo nido, quindi l'unica cosa che posso pensare è che salta fuori dal nido genitore appena sopra di esso. Non sono sicuro che risponda alla tua domanda ma, per i posteri, sembra che l'aggiunta del nido #if e il contenuto del percorso al percorso sembra funzionare ... '
{{prop}} + {{../../content/variable }}
'http://jsfiddle.net/MDdn2/3/ – Shanimal