Skip to content

Conversation

@fmarsoni
Copy link

@fmarsoni fmarsoni commented Feb 8, 2012

This allow to write:

Jaml.render(function(data) { div(....) }, data);
to easily use a template without registering it

Jaml.register('tmpl', function(data) {....});
Jaml.render({tmpl: function(data) { div(....) }}, 'tmpl', data);
to ovveride a template without overwriting already registered template

A slightly more complex example:
Jaml.register('tmpl', function(data) { p(....)});
Jaml.register('tmpl2', function(data) { div(render('tmpl', data))});
Jaml.render({
tmpl: function(data) { div(....) }
}, 'tmpl2', data); -> <div><div>....</div></div>
Jaml.render('tmpl2', data); -> <div><p>....</p></div>

To allow "render" function in place of Jaml.render I had to rename "render" method in Jaml.Template to "_render".
I changed tests according to it and added two more.

This is just an idea, even if I'm using theese changes in a large project where I need to improve reusability of templates and avoid accidental overwrites.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant