【发布时间】:2015-04-23 17:12:29
【问题描述】:
我想克隆一个 Sencha Touch 2.3 模型实例(也称为“记录”)。克隆应该与旧的具有相同的 id,但不应附加到任何商店。在 ExtJS4 中,我会执行以下操作并且它会起作用:
var newRecord = record.copy();
这在 Sencha Touch 中不起作用。根据 ST2 文档,新记录在 copy() 上获得一个新生成的 id。所以我尝试了:
var newRecord = record.copy(record.getId());
所以现在我应该有一个具有相同 ID 的新副本。
newRecord.getId()==record.getId(); // returns true
然后我修改记录:
newRecord.set("myCount",newRecord.get("myCount")+1);
猜猜接下来会发生什么?我检查记录是否真的不同:
newRecord.get("myCount")!=record.get("myCount"); // returns false
所以,当我修改“副本”时,我也修改了原始,这意味着没有创建副本。
我做错了什么,我在哪里误读了 Sencha Touch 文档?
【问题讨论】:
标签: javascript extjs sencha-touch sencha-touch-2