У меня есть магазин. В событии загрузки магазина я делаю что-то вроде этого.Extjs store deep clone issue
'load': function (store, rec, success, options) {
var data = store.getRange();
var data2 = store.getRange();
}
Если я скажу data == data2
, я получаю false
. Это означает, что data
и data2
не указывают на то же место ссылки.
Предположим, что магазин conatins несколько записей & каждая запись имеет свойство по имени IsUpdated
, который устанавливается в false
по умолчанию
На данный момент, если я скажу console.log(data[0].data.IsUpdated)
& console.log(data2[0].data.IsUpdated)
оба возвращает ложь (что правильно).
Теперь. Если я скажу data[0].data.IsUpdated = true
&, тогда бегите console.log(data[0].data.IsUpdated)
& оба возвращаются true.
Это означает, что данные и данные2 указывают на одну и ту же ссылку. Я не уверен, как решить эту проблему. Я попытался глубокий клон запись с помощью jQuery.extend(true, {}, data)
, но даже это не работает