2012-03-23 61 views
0

我创建了一个在配置中带有extjs记录的类。我保留对这个记录的参考。在创建类实例时,我期望记录,并且完全没问题。记录正在失去它的商店

后来,在我试图使用这个记录的对象方法之一。非常意外的是,这个记录已经失去了它的商店参考。除此之外,该记录看起来正确的数据。

我砍死保持参照店在初始化阶段的情况:

this.store = this.recordLoosingItsStore.store; 

后来我可以取回我的记录是这样的:

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

任何人都可以分享意见什么的发生,在我的record.store消失了?我怎样才能轻松调试它?我试图为商店datachanged事件提供建议,但这并没有产生任何积极的结果。

回答

2

如果您检查文档,它指出一个记录实例一次只能属于一个商店实例。您是否有可能在您的代码中的任何时间将其分配给其他商店,然后销毁该其他商店?如果是这种情况,在将记录分配到不同的存储区时使用.copy方法应解决该问题。

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

+1

ty,伙计们。这些提示足以说明问题。我正在重新加载初始化和方法调用之间的商店。 – user732456 2012-03-23 13:18:07

1

很难说得清它失去它不看你的代码。尝试在这里发布一些代码。如果它太大 - 尝试提取首次加载记录的位置,然后提取所有与商店/记录进行操作的位置。