| @@ -419,6 +419,42 @@ Mustache.render(template, view, { | |||||
| }); | }); | ||||
| ``` | ``` | ||||
| #### Note on Partials - No Context Support (Yet!) | |||||
| The wording above with regard to partials "thought of as a single, expanded template", is exact. | |||||
| That is, partial view data is not nested nor is there a way to specify `Context`. | |||||
| For example, | |||||
| ``` | |||||
| var view = { | |||||
| name: 'test name 1', | |||||
| names: [ | |||||
| { name: 'test name 2' }, | |||||
| { name: 'test name 3' } | |||||
| ], | |||||
| partial: { | |||||
| names: [ | |||||
| { name: 'test name 4' }, | |||||
| { name: 'test name 5' } | |||||
| ] | |||||
| } | |||||
| }; | |||||
| var template = '{{#names}}Hi, {{name}}!{{/names}} PARTIAL TEST : {{> partial}}' | |||||
| var partial = '{{#names}}Hello, my name is {{name}}.{{/names}}' | |||||
| console.log(Mustache.render(template, view, { partial: partial})); | |||||
| ``` | |||||
| does not output the expected `test name 4` or `test name 5`. The output is actually | |||||
| ``` | |||||
| Hi, test name 2!Hi, test name 3! PARTIAL TEST : Hello, my name is test name 2.Hello, my name is test name 3. | |||||
| ``` | |||||
| Therefore, the JSON object must be flat / flattened when using partials with no key conflicts. | |||||
| ### Custom Delimiters | ### Custom Delimiters | ||||
| Custom delimiters can be used in place of `{{` and `}}` by setting the new values in JavaScript or in templates. | Custom delimiters can be used in place of `{{` and `}}` by setting the new values in JavaScript or in templates. | ||||