我不向商店添加记录 ExtJS

I dont add a records to the store ExtJS

ExtJs 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

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

这背后的原因是 store.add 不是纯函数,这意味着它改变了 dep 所以在第一次添加 dep 之后不再持有对简单 javascript 对象的引用但它是对添加模型的引用。之后,您尝试添加已在商店中的模型,因此它忽略了它

您可以通过在首次添加

后对 def 变量执行 console.log 来验证这一点

解决方法:

store.add(Ext.clone(dep));