problème de mise en cache calculée par vue
三叔
三叔 2017-06-12 09:31:36
0
2
963

J'ai lu le document officiel qui dit :

computedmethods的区别是,computed会基于它们的依赖进行缓存,如果数据没法改变则computed刷新时不会重新执行,而methods sera exécuté à chaque fois.

Mais l'exemple que j'ai écrit n'est pas comme ça (l'exemple que j'ai écrit est un exemple officiel).

html :

<p id="app">
    <p>{{methodsNow()}}</p>
    <p>{{computedNow}}</p>
</p>

javascript :

new Vue({
    el:'#app',
    data:{

    },
    methods:{
        methodsNow:function(){
            return new Date().toLocaleString();
        }
    },
    computed:{
        computedNow:function(){
            return new Date().toLocaleString();
        }
    }
});

Discutons : ai-je écrit quelque chose de mal quelque part ?

三叔
三叔

répondre à tous(2)
三叔

Votre exemple n'est pas utile pour décrire la différence entre les deux. Montrez-vous cet exemple : JSFiddle

<p id="app">
  <!-- 每次点击时,显示的时间都不同 -->
  <button @click="showMethod">methodsNow</button>

  <!-- 每次点击时,显示的时间都相同 -->
  <button @click="showComputed">computedNow</button>
</p>
new Vue({
  el: '#app',
  data: {
    message: 'Hello Vue.js!'
  },
  methods:{
    methodsNow: function(){
      return new Date().toLocaleString();
    },
    showMethod: function() {
         alert(this.methodsNow());
    },
    showComputed: function() {
         alert(this.computedNow);
    }
  },
  computed:{
    computedNow: function(){
      return new Date().toLocaleString();
    }
  }
})
扔个三星炸死你

Vous comprendrez après l'avoir testé ainsi
html:

<p id="app">
    <p>{{methodsNow()}}</p>
    <p>{{computedNow}}</p>
    <p>{{methodsNow()}}</p>
    <p>{{computedNow}}</p>
</p>

javascript :

new Vue({
    el:'#app',
    data () {
      return {
        mData: 1,
        cData: 2
      }
    },
    methods: {
      methodsNow: function () {
        console.log('methods')
        return this.mData
      }
    },
    computed: {
      computedNow: function () {
        console.log('computed')
        return this.cData
      }
    }
});

En conséquence, vous constatez que ComputedNow est exécuté une fois et MethodsNow est exécuté deux fois

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal