Я не добавляю записи в магазин ExtJS - PullRequest
0 голосов
/ 06 ноября 2019

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

Переменный объект добавляется только один раз. Почему ?????

1 Ответ

2 голосов
/ 06 ноября 2019

Причина этого в том, что store.add не является чистой функцией, то есть она меняет dep, поэтому после первого добавления dep больше не содержит ссылку на простой объект javascript, а вместо этого является ссылкой на добавленную модель. После этого вы пытаетесь добавить модель, которая уже находится в магазине, поэтому она пропускает ее

. В этом можно убедиться, выполнив console.log переменной def после первого добавления

Wokaround. :

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