Meteor 如何获取模板实例id?

Meteor 如何获取模板实例id?,meteor,Meteor,我正在尝试为模板实例设置id。在热代码推送中幸存下来的人。 我尝试将该id添加到模板的第一个节点上的“数据id”属性中,但当热代码推送发生时,它就丢失了 目标是将模板的状态保存在以模板id命名的会话变量中。在模板呈现事件中,我将检查该会话变量,如果该会话变量具有信息,我将在热代码推送发生时恢复模板的状态 更新 这是针对一个包的,因此id必须是一个随机数。您不应该为此使用会话ReactiveDict(来自ReactiveDict包)现在支持在热代码推送后仍然存在的数据迁移 (看)。 您需要做的唯一

我正在尝试为模板实例设置id。在热代码推送中幸存下来的人。 我尝试将该id添加到模板的第一个节点上的“数据id”属性中,但当热代码推送发生时,它就丢失了

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

更新
这是针对一个包的,因此id必须是一个随机数。

您不应该为此使用会话
ReactiveDict
(来自
ReactiveDict
包)现在支持在热代码推送后仍然存在的数据迁移 (看)。 您需要做的唯一一件事是为您的被动dict实例提供一个唯一的名称

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

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

这就是问题所在,我正在尝试为模板实例保存一个随机ID,以便在热代码推送后检索状态。您的示例假设我已经拥有ID。声明“ReactiveDict现在支持在热代码推送中幸存的数据迁移”中的任何源代码?不同意。@PeppeL-G很好!我忘了添加正确的引用。@Manuel,所以我假设使用随机ID的原因是您同时需要多个实例。是这样吗?@apendua,对不起,我把“ReactiveDict”读作“ReactiveVar”^^^,谢谢你的澄清。旁注:似乎他们没有更新自述文件,因为它说:“它提供会话对象[…]的所有功能,只是它的内容不会在热代码推送客户端代码更新中保存。”。