Ломаю голову над проблемой. Есть компонент Article.vue в краде. Один и тот же компонент я хочу использовать как для создания так и для обновления. И во втором случае мне надо отслеживать ЛЮБЫЕ изменения существующих данных (которые прилетают от бэка). Пытаюсь сделать с watch, но ничего не получается.
props: ['articleProp'],
data() {
return {
article: {
title: null,
description: null
}
}
},
watch: {
article: {
deep: true,
handler(newValue, oldValue) {
console.log('triggered')
}
}
},
mounted() {
if (this.articleProp) {
Object.keys(this.articleProp).filter(key => key in this.article).forEach(key => {
this.article[key] = this.articleProp[key]
})
}
}
Проблема в том, что я назначаю
this.article
в mounted и watch срабатывает тогда когда мне не надо. Кроме того, вотчер возвращает оба одинаковых значения и невозможно ничего отследить!!! Я нифига не пойму вообще что делать?
Как сделать назначение существующих данных и ПОТОМ отслеживать изменения в вотчере?