How Do I Loop Through An Array Passed Directly To Dust.js?
Using the dust.js javascript templating engine, I want to pass an array directly: var templateContents; //loaded by require.js var compiled = dust.compile(templateContents, 'viewEl
Solution 1:
I'm not sure exactly what was going wrong with one of the things I tried in the original question, but thanks Trevor for pointing this out.
dust.render("viewElements", ["bob", "joe", "sue"], function(err, out){
$('#view').html(out);
});
This will work with this:
{#.}{.}<br>{/.}
If you've got an array of objects:
dust.render("viewElements", [{name:"bob"}, {name:"joe"}, {name:"sue"}],
function(err, out){
$('#view').html(out);
});
You can render them by referencing the name property on the . element:
{#.}{.name}<br>{/.}
Or directly:
{#.}{name}<br>{/.}
Solution 2:
This answer may be too late :)
This code seems to work for me (passed the array as data object to the template while rendering):
var compiled = dust.compile("{#data}{.}<br>{/data}", "viewElements");
dust.loadSource(compiled);
var arr = ["bob", "joe", "sue"];
dust.render("viewElements", {"data" : arr}, function(err, out){
$('#content').html(out);
});
Post a Comment for "How Do I Loop Through An Array Passed Directly To Dust.js?"