tôi có thành phần với watcher'This` là undefined trong vue.js watcher
props: {
propShow: { required: true, type: Boolean }
},
data() {
return {
show: this.propShow
}
},
watch: {
propShow: {
handler: (val, oldVal) => {
this.show = val;
}
}
}
Bất cứ khi nào parent
thành phần thay đổi propShow
thành phần này phải cập nhật nó show
tài sản. Thành phần This
cũng sửa đổi thuộc tính show
, đó là lý do tại sao tôi cần cả hai: show
và propShow
, vì Vue.js không cho phép thay đổi thuộc tính trực tiếp.
Dòng này
this.show = val;
gây lỗi
TypeError: Cannot set property 'show' of undefined
vì this
bên handler là undefined
.
Tại sao?