Hello all! I’m trying to create template views dynamically, so that I can trigger modals etc. more easily. Basically, the idea is that I can have a universal window template, like this:
<template name="windowFrame">
<div class="framing-classes">
{{>Template.contentBlock}}
</div>
<div>
Then you could have the content of a specific window defined in another template:
<template name="myWindow">
<h1>{{title}}</h1>
<p>Various stuff and whatnot</p>
</template>
So what I want to do is have a single bit of javascript which will attach Template.windowFrame to the DOM, with Template.myWindow as its contentBlock. Something like:
function makeWindow(contentTemplate, data) {
var container = Blaze.View("window", function() {
return Template.windowFrame;
});
container.templateContentBlock = Blaze.With(data, function() {
return Template[contentTemplate];
});
Blaze.render(container, document.body);
}
// render Template.windowFrame with Template.myWindow inside it:
makeWindow("myWindow", {title:"Fancy Title"});
Unfortunately, this doesn’t work. The rendered View always has its templateContentBlock set to null. Haven’t been able to get around this. Any suggestions?