我正在尝试为模板实例设置ID。一个幸存热门代码的人。 我尝试将id添加到" data-id"属性在模板的firstNode上,但在热代码推送发生时它会丢失。
目标是将模板的状态保存在以模板ID命名的会话变量中。在模板渲染事件中,我将检查该会话变量,如果它有信息,我将在热代码推送时恢复模板的状态。
更新 这是一个包,所以id必须是一个随机数。
答案 0 :(得分:0)
你不应该使用session。 ReactiveDict
(来自reactive-dict
包)现在支持数据迁移,这些数据迁移可以保留热代码推送
(看here)。
您唯一需要做的就是为您的反应式dict实例提供一个唯一的名称
Template.yourTemplateName.created = function () {
this.myState = new ReactiveDict('myUniqueId');
}
除非您有多个模板的并发实例,否则这只会起作用。另请注意,此解决方案无法保证用户强制页面重新加载后的状态生存。如果您需要支持更复杂的行为模式,那么您可能无法使用cookie或基于本地存储的解决方案。