better2021 / Blog

个人博客
https://feiyuweb.me/Blog
1 stars 0 forks source link

计算属性的缓存 #11

Open better2021 opened 5 years ago

better2021 commented 5 years ago

Vue实例中被观察的数据属性发生了改变时才会重新执行getter,但是我们有时候计算属性依赖实时的非观察数据属性,比如下面例子中的Data.now

<template>
  <div>
    <h4>测试</h4>
    <div>
      <input type="text" v-model="message" />
      <div>{{now}}</div>
    </div>
  </div>

</template>

<script>
   export default {
    data () {
       return {
         message: 'hello'
       }
     },
    computed: {
      now:{
        cache: false,
        get:function(){
          return Date.now() + this.message
        }
      }
    },
    mounted () {
      setInterval(() => {
        // 当缓存开关为false的时候,定时器每次打印的时间都是不一样的
        console.log(this.now)
      }, 500)
    }
  }
</script>