JSFiddle - React, Tailwind, and code Playground
by 76484
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.10/handlebars.js"></script>
<script id="Template" type="text/template">
{{#partialResolver (lookup . 'type')}}
Template Not Found
{{/partialResolver}}
</script>
JavaScript
var raw = document.getElementById('Template').innerHTML;
var template = Handlebars.compile(raw);
Handlebars.registerPartial('helloPartial', '<p>Hello, {{name}}!</p>');
Handlebars.registerHelper('partialResolver', function (partialName, options) {
var partial = Handlebars.partials[partialName];
if (partial && !Handlebars.Utils.isFunction(partial)) {
Handlebars.partials[partialName] = partial = Handlebars.compile(partial);
}
return (partial ? partial : options.fn)(this);
});
document.body.innerHTML = template({
type: 'helloPartial',
name: 'World'
});
document.body.innerHTML += template({
type: 'unknownPartial',
name: 'Foo'
});