Javascript 如何手动销毁ReactiveDict?
我想使用Javascript 如何手动销毁ReactiveDict?,javascript,meteor,reactive-programming,Javascript,Meteor,Reactive Programming,我想使用ReactiveDict部分更新我的结构化数据,并且我有一个依赖于该数据的UI(模态形式)的UI(模态形式)。 ReactiveVar无法为我提供与ReactiveDict一起使用的功能 但是,我想放弃ReactiveDict的一个命名实例,以释放内存,或者因为我想重用它的名称 如何在不刷新我的页面的情况下手动删除ReactiveDict的命名实例?所有ReactiveDict的命名实例都存储在ReactiveDict.\u dicsToMigrate中 要删除它,只需删除Reactiv
ReactiveDict
部分更新我的结构化数据,并且我有一个依赖于该数据的UI(模态形式)的UI(模态形式)。ReactiveVar
无法为我提供与ReactiveDict
一起使用的功能
但是,我想放弃ReactiveDict
的一个命名实例,以释放内存,或者因为我想重用它的名称
如何在不刷新我的页面的情况下手动删除
ReactiveDict
的命名实例?所有ReactiveDict
的命名实例都存储在ReactiveDict.\u dicsToMigrate
中
要删除它,只需删除ReactiveDict.\u dicsToMigrate['my dictionary']
,它将不会被迁移。然后,您可以删除对变量(对象字段,…)的其他引用,这样就完成了
您还需要停止所有正在监视的计算
在测试期间,我还注意到已迁移但未使用的词典不会再次迁移。嘿。嗯。。若我为它的构造函数提供了一些名称,那个么在刷新页面之前,我无法创建另一个具有相同名称的构造函数(这是正常的)。如果我创建ReactiveDict而不向构造函数传递一些名称,那么就可以了。但我不确定这是否会导致内存问题幸运的是,内存分配在JavaScript中有点像噩梦,在Meteor中更是如此,在Meteor中,反应性的东西被传递、计算并到处重复引用。我想你唯一能做的就是删除尽可能多的东西,希望一切顺利。