не видет что он изменяеться, хотя поставил deep:true, в каком случае watch не может отследит обьект ?
а пропс точно меняется?
можно проверить работает ли пропс в такой ситуации не по набору, а по переменной, которая 100% вотч дернет т.е. при работе с массивами и объектами реактивность имеет особенности. а с единичным значение м- там без вариантов
Ок, если на перемменой дает вотч, почему тогда на пропсе не дает?) хотя в компоненте он обновляеться
Через пропсы передать не массив, а единичное значение. Что бы на 120% быть уверенным, что сам механизм работает
Нашел проблему, если я передаю такой computed в пропси, то watch не может отследить, но почему?)
какой-то он очень странный. в смысле, отдаёт rowData целиком, а при изменении меняется только часть rowData
Да тут весь проект странн. ) еще тут меняют key в компоненте чтоб заново отрендерить компонент)
Как реализован $set?
это стандартный метод Vue 2
this.$set(this.rowData, newItem.col, newItem.value); я уже удалил computed , и передаю переменную из data, все равно вотч не видет))
Смотри, если ты меняешь объект/массив, то там реактивность будет только в случаях явного переназначения данных Массив = новый массив То же с объектом И для массивом добавление/удаление Только через специальные методы. Это чаще всего является причиной отвала реактивности. И вотч не сработает тогда
А, точно😎 Я уже забыл второй вью🤔 Ну если на единственном значении все работает, а на массиве нет, то дело точно в том, как изменяется массив. Можно попробовать повесить вотч не на массив а на его, скажем, длину, если этого достаточно
В коде что то не могу найти где не реактивно оновляет переменну, есть способ узнать как то по другому?))
Обсуждают сегодня