2014-03-29 123 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