Mustache/Hogan JS: Is it possible to reference parent tags within a list?

hogan.js, mustache, templating

Solution

PEBKAC!

It turns out Hogan JS does support the Context Bubbling spec so my desired input as per the question does in fact evaluate to my desired output! :) I was just having problems getting this to work as expected because I was dealing with a heavily nested dataset & several Mustache includes so I had made a few silly errors along the way that were giving me blank outputs.

All good now - though I think I'd better go find me a Hogan debugger to save from further frustration in the future... ;)

Problem

I have a use case where I'd like to access parent tags within list loop sections in a Mustache/Hogan JS template. For example, this is my data structure: ``` var data = { users: [{name: "John", age: 100},{name: "Max", age: 80}], meta: {membership: "full"} }; ``` ..and this is my Mustache/Hogan JS template: ``` {{#users}} h1 Hello there, {{name}} {{/users}} ``` ..which renders as: ``` <h1>Hello there, John</h1> <h1>Hello there, Max</h1> ``` This is all well and good, but is it possible for me to access the meta.membership parent variable within the {{#users}...{{/users}} section? It seems that the tags are limited to the local context, so I can't output the value of the meta.membership tag while iterating over users. Ideally I want to know if something like this is possible: ``` {{#users}} h1 Hello there, {{name}} p You have a {{meta.membership}} membership {{/users}} ``` Desired result: ``` <h1>Hello there, John</h1> <p>You have a full membership</p> <h1>Hello there, Max</h1> <p>You have a full membership</p> ``` Thanks in advance

Original source