唱片正在失去它的商店

时间:2012-03-23 12:13:59

标签: extjs extjs4

我在config中创建了一个带有extjs记录的类。我保留对此记录的引用。在创建类实例时,我期望记录完全没问题。

后来,在其中一个对象方法中,我尝试使用此记录。相当意外的是,该记录已经失去了它的商店参考。除此之外,使用正确的数据,记录看起来还不错。

我破解了在初始化阶段保持对商店的引用的情况:

this.store = this.recordLoosingItsStore.store;

之后我可以像这样检索我的记录:

var recordOK = this.store.getById( this.recordLoosingItsStore.getId() );

任何人都可以分享意见发生了什么以及我的record.store消失了吗?我该如何轻松调试?我试图建议商店datachanged事件,但这没有产生任何积极的结果。

2 个答案:

答案 0 :(得分:2)

如果您查看文档,则表明记录实例一次只能属于商店实例。是否有可能在代码中的任何位置将其分配给不同的商店,然后销毁其他商店?如果是这种情况,在将记录分配给其他商店时使用.copy方法应该可以解决问题。

更多信息:http://docs.sencha.com/ext-js/3-4/#!/api/Ext.data.Record

答案 1 :(得分:1)

如果不查看代码,很难说它在哪里丢失它。尝试在这里发布一些代码。如果它太大 - 尝试提取您首次加载记录的位置,然后提取您使用存储/记录执行某些操作的所有位置。