我没有将记录添加到商店ExtJS

ExtJ 6.2

    var store = Ext.create("Ext.data.Store"); 

    var dep = {dd:11};

    store.add({dd:11});
    store.add(dep);
    store.add(dep);
    store.add(dep); 
    store.add(dep);
    store.add(dep);
    store.add(dep);
    store.add(dep);
    store.add({dd:11});
    console.log("Count:" + store.count());

计数:3

变量对象仅添加一次。 为什么????

freekoo 回答:我没有将记录添加到商店ExtJS

其背后的原因是store.add不是纯函数,意味着它会更改dep,因此在第一次添加dep之后,不再保存对简单javascript对象的引用,而是引用了添加模型。之后,您尝试添加商店中已有的模型,因此将其省略

您可以通过在首次添加后对console.log变量进行def来验证这一点

解决方法:

store.add(Ext.clone(dep));
本文链接:https://www.f2er.com/3153009.html

大家都在问