Приветствую.
Есть компонент:
<div id="app">
<my-component>
</my-component>
</div>
const MyComponent = {
template: '<div>{{x}}<br>{{y}}</div>',
data() {
return {
x: '',
y: '',
isOk: false
}
},
created(){
alert(this.isOk);
this.x = 'x-first';
this.y = 'y-first';
alert(this.isOk);
this.isOk = true;//теперь наблюдаем
},
watch: {
x(){
this.check();
},
y(){
this.check();
}
},
methods: {
check(){
alert('watch ' + this.isOk);
}
}
};
В created я устанавливаю начальные значения св-вам.
Но мне надо также сечь их изменения, поэтому делаю наблюдение за ними.
Но вижу что когда в created присваиваю значения, наблюдение уже для них срабатывает.
Первый вопрос: Как в таких случаях поступать, как отключить наблюдение на время?
Я пробую сделать флагом, как в коде выше, по замыслу, сначала не наблюдаем(isOk: false), но так не работает, вывод дает такие алерты:
false
false
watch true
watch true
Т.е. срабатывает наблюдатель не сразу как присваиваешь значение, а когда то потом.
Второй вопрос: Почему так?