Not quite sure why you're using two levels of indirection. BlazeLayout.render()
is giving you one level and then you're using a dynamic template within that? Why not directly render the template you ultimately want using BlazeLayout.render()
?
In any case, you're dereferencing your data context indirectly.
In the BlazeLayout.render()
call you're setting the attr
variable to some value.
Then in your dynamic template you're using data=attr
but this means that inside your template helpers that this
is going be have the value of attr
. There will be no data
subkey added automatically.
You don't show the value that you're setting for attr
so it's not even clear that you have an attr
subkey in your attr
variable, that would also be confusing to anyone else who ever tries to debug your code.
@khang is correct about not using the arrow function syntax in onCreated()
, try:
Template.paramstats.onCreated(function(){
console.log("onCreated");
console.log("Data is:",this);
});
this
should have whatever value you stuffed into attr
in your BlazeLayout.render()