我在config中创建了一个带有extjs记录的类。我保留对此记录的引用。在创建类实例时,我期望记录完全没问题。
后来,在其中一个对象方法中,我尝试使用此记录。相当意外的是,该记录已经失去了它的商店参考。除此之外,使用正确的数据,记录看起来还不错。
我破解了在初始化阶段保持对商店的引用的情况:
this.store = this.recordLoosingItsStore.store;
之后我可以像这样检索我的记录:
var recordOK = this.store.getById( this.recordLoosingItsStore.getId() );
任何人都可以分享意见发生了什么以及我的record.store消失了吗?我该如何轻松调试?我试图建议商店datachanged事件,但这没有产生任何积极的结果。
答案 0 :(得分:2)
如果您查看文档,则表明记录实例一次只能属于商店实例。是否有可能在代码中的任何位置将其分配给不同的商店,然后销毁其他商店?如果是这种情况,在将记录分配给其他商店时使用.copy方法应该可以解决问题。
更多信息:http://docs.sencha.com/ext-js/3-4/#!/api/Ext.data.Record
答案 1 :(得分:1)
如果不查看代码,很难说它在哪里丢失它。尝试在这里发布一些代码。如果它太大 - 尝试提取您首次加载记录的位置,然后提取您使用存储/记录执行某些操作的所有位置。