2014-03-29 84 views
3

有了这个更新和新模板引擎Blaze的介绍,我遇到了一些问题,更具体地说是模板渲染回调。流星中的模板渲染回调0.8.0 blaze

沿着template.my_template.rendered行的一个似乎不再适用于我。当我尝试登录时(this._id),并且其中的任何内容实际上都不起作用时,给我未定义。

我在引言中读到Meteor.render已被删除。这两个有什么共同点?更新后的语法是什么?

回答

0

如果您在模板呈现回调中使用this._id,现在请尝试使用this.data._id。我有点不确定为什么this._id之前在渲染回调中为你工作。

如果这是你的助手,而不是你呈现回调,将继续作为this._id,但有些规则取决于你的模板是另一个模板内改变。

有一个migration guide,可以帮助您构建您的模板的火焰。你也可以在这里发帖,但鉴于你提供的细节没有足够的信息来确定真正的问题是什么。

Meteor.render已弃用。有一个新的UI.render命名空间(http://docs.meteor.com/#ui)可以做类似的事情。这取决于你想要做什么,但是UI.insertWithData可能会做类似的事情。

参见Meteor.render迁移文档:https://github.com/meteor/meteor/wiki/Using-Blaze#meteorrender-has-been-removed

+0

看完呈现的回调是从Meteor.render什么不同。问题是渲染的回调函数现在只被调用一次。 – user1952811

+0

@ user1952811是,呈现的回调仅现在触发一次。这是因为Blaze通过DOM修补工作。它不应该不止一次起火。当DOM改变时,它不应该像Spark那样破坏任何东西,当需要呈现回调来重新初始化任何Jquery组件 – Akshat

+0

10我应该如何以一种很好的自动方式进行更新?我看到其他问题没有答案 – user1952811