Почему некорректно работает watch?

232
03 декабря 2017, 14:48

Есть массив с хешами, внутри которых есть еще хеш. Выглядит это примерно так:

[{
    "field1": "some text",
    "field2": 0,
    "field3": {
        "field31": "some text",
        "field32": "some text"
    },
    "field4": true
}]

В каких-то местах эти значения меняются с помощью v-model. Например, так:

v-model="array[index].field1"

Все обновление данных таким образом происходит успешно.

Но есть одно но. У меня есть такой код:

watch: {
    array: {
        handler(new_array, old_array) {
            console.log(JSON.stringify(new_array.map((i) => i.field1)))
            console.log(JSON.stringify(old_array.map((i) => i.field1)))
        }, deep: true
    }
}

По идее то что будет выводиться в консоль браузера должно быть разным. Но это не так. Обе строки будут идентичны. То есть old_array идентичен new_array.

Почему так происходит?

READ ALSO
Откуда можно получить курс ethereum в json формате?

Откуда можно получить курс ethereum в json формате?

Собираюсь отправлять ajax запросЛучше всего буду рад официальным источникам

268
Загрузка zip rar файлов с ajax на сервер

Загрузка zip rar файлов с ajax на сервер

Как загрузить zip rar файлы с ajax на сервер?

269
Передача props, как параметра в функцию в React

Передача props, как параметра в функцию в React

Есть компонент, в который входят 2 других компонента: кнопки и блок, кнопок несколько, и при нажатии на кнопку, блок должен принимать ее цветНе...

482