如何获取模板实例ID?

时间:2015-01-04 16:13:24

标签: meteor

我正在尝试为模板实例设置ID。一个幸存热门代码的人。 我尝试将id添加到" data-id"属性在模板的firstNode上,但在热代码推送发生时它会丢失。

目标是将模板的状态保存在以模板ID命名的会话变量中。在模板渲染事件中,我将检查该会话变量,如果它有信息,我将在热代码推送时恢复模板的状态。

更新 这是一个包,所以id必须是一个随机数。

1 个答案:

答案 0 :(得分:0)

你不应该使用session。 ReactiveDict(来自reactive-dict包)现在支持数据迁移,这些数据迁移可以保留热代码推送 (看here)。 您唯一需要做的就是为您的反应式dict实例提供一个唯一的名称

Template.yourTemplateName.created = function () {
  this.myState = new ReactiveDict('myUniqueId');
}

除非您有多个模板的并发实例,否则这只会起作用。另请注意,此解决方案无法保证用户强制页面重新加载后的状态生存。如果您需要支持更复杂的行为模式,那么您可能无法使用cookie或基于本地存储的解决方案。