首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Meteor Blaze renderWithData

Meteor Blaze renderWithData
EN

Stack Overflow用户
提问于 2015-12-05 18:49:10
回答 2查看 2.5K关注 0票数 2

我正在尝试通过Blaze渲染一个模板。所以通常我会打电话给

代码语言:javascript
复制
Blaze.render(Template.xxx,$("#parentnode")[0]);

它工作得很好。

现在我想在模板xxx中区分是谁渲染了它。所以我想把一个变量传递给模板,我可以用它来决定是谁。我试过了

代码语言:javascript
复制
Blaze.renderWithData(Template.xxx,{test:"value"},$("#parentnode")[0]);

,然后尝试访问

代码语言:javascript
复制
 Template.xxx.onRendered(function(){console.log(this.test)});

其记录了"this.test is not defined blabla“。如何正确传递和访问数据?

谢谢你的回答,祝你有一个好的答案!

EN

回答 2

Stack Overflow用户

发布于 2015-12-05 20:56:15

根据meteor docs的说法,不可能在onRendered回调中访问上下文对象。this关键字引用模板实例,不包含任何有状态数据。您可以做的是在DOM节点内呈现数据属性(如果不想显示,则在隐藏元素中)。您可以从onRendered函数访问DOM。

票数 0
EN

Stack Overflow用户

发布于 2016-01-08 07:01:58

在呈现模板时,Template.currentData()是可用的,所以尝试使用Template.currentData()而不是这个,它应该可以工作:

代码语言:javascript
复制
Template.xxx.rendered = function() {
  var _this = Template.currentData();
  console.log(_this.test)
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34103958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档