javascript - À propos de la liaison de données dans Vue
怪我咯
怪我咯 2017-05-19 10:32:29
0
2
658

La documentation officielle de Vue indique que les données de l'instance Vue sont stockées dans l'objet de données et que Vue convertira de manière récursive les propriétés des données en getters/setters, afin que les propriétés des données puissent répondre aux modifications des données.

var data = { a: 1 }
// 直接创建一个实例
var vm = new Vue({
  data: data
})
vm.a // -> 1
vm.$data === data // -> true

Ma question maintenant est :

data() {
      return {
        favorite: (() => {
            return loadFromLocal(this.seller.id, 'favorite', false);
        })()
      };
    }

LoadFromLocal est une fonction déclarée globalement. L'instance Vue convertit les propriétés des données en getters et setters. La valeur de retour de cette fonction immédiatement exécutée changera en raison des modifications apportées aux autres fonctions. Comment Vue surveille-t-il les changements de données lorsque j'appelle le getter et le setter du favori sans l'appeler explicitement ? Est-ce pour vérifier la valeur de retour de la fonction immédiatement exécutée de temps en temps ?

怪我咯
怪我咯

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

répondre à tous(2)
phpcn_u1582

1. La fonction d'exécution immédiate a été exécutée avant la nouvelle Vue

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

new Vue({App});

2. La surveillance se fait via des getters et des setters, rien avant.
Imprimer les attributs dans le modèle et accéder aux attributs lorsque vous êtes prêt équivaut à appeler des getters

为情所困
data() {
      return {
        favorite: (() => {
            return loadFromLocal(this.seller.id, 'favorite', false);
        })()
        //其实和下面没区别,只是初始赋值是立即执行函数的返回值而已
        favorite:1
      };
    }
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!