javascript - Mengenai pengikatan data dalam Vue
怪我咯
怪我咯 2017-05-19 10:32:29
0
2
674

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?

怪我咯
怪我咯

走同样的路,发现不同的人生

membalas semua(2)
phpcn_u1582

1 Fungsi pelaksanaan segera telah dilaksanakan sebelum Vue baharu

var App = {
  data() {
    return {
      a: (()=>{ return 1; })()
    }
  }
}

new Vue({App});
2 Pemantauan dilakukan melalui getter dan setter, tiada sebelum ini.

Mencetak atribut dalam templat dan mengakses atribut apabila sedia adalah setara dengan memanggil getter

为情所困
data() {
      return {
        favorite: (() => {
            return loadFromLocal(this.seller.id, 'favorite', false);
        })()
        //其实和下面没区别,只是初始赋值是立即执行函数的返回值而已
        favorite:1
      };
    }
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan