Dokumentasi rasmi Vue mengatakan bahawa data tika Vue disimpan dalam objek data, dan Vue akan menukar sifat data secara rekursif kepada getter/setters, supaya sifat data boleh bertindak balas terhadap perubahan data.
var data = { a: 1 }
// 直接创建一个实例
var vm = new Vue({
data: data
})
vm.a // -> 1
vm.$data === data // -> true
Soalan saya sekarang ialah:
data() {
return {
favorite: (() => {
return loadFromLocal(this.seller.id, 'favorite', false);
})()
};
}
LoadFromLocal ialah fungsi yang diisytiharkan secara global Instance Vue menukar sifat dalam data kepada getter dan setter Nilai pulangan bagi fungsi yang dilaksanakan dengan segera ini akan berubah disebabkan oleh perubahan dalam fungsi lain. Bagaimanakah Vue memantau perubahan data apabila saya memanggil pengambil dan penetap kegemaran tanpa memanggilnya secara eksplisit? Adakah ia untuk menyemak nilai pulangan fungsi yang dilaksanakan dengan segera sekali-sekala?
1 Fungsi pelaksanaan segera telah dilaksanakan sebelum Vue baharu
2 Pemantauan dilakukan melalui getter dan setter, tiada sebelum ini.Mencetak atribut dalam templat dan mengakses atribut apabila sedia adalah setara dengan memanggil getter