VUE 组件的计算属性
前言
今天也是元气满满的一天,今天整理一下 VUE 组件的计算属性!~~
开始我们的学习之旅
计算属性
先引用一张图 来看一下计算属性之间的关联
注意: methods 和 computed 里的东西不能重名
method:定义方法,调用方法使用 currentTime(),需要带括号
computed:定义计算属性,调用属性使用 currenTime2,不需要带括号:this.message 是为了能够让 currentTime2 观察到数据变化
如何在方法中的值发生了变化,则缓存就会刷新!可以在控制台使用 vm.message="HelloShit!"
复制代码
在 methods 里定义了一个方法实现了和计算机属性相同的效果,甚至该方法还可以接受参数,使用起来更灵活,既然使用 methods 就可以实现,那为什么还需要计算机属性呢?原因就是计算机属性是基于它的依赖缓存的。一个计算机属性所依赖的数据发生变化时,它才会重新赋值,所以 text 只要不改变,计算机属性也就不会更新
这里的 Date.now()不是响应式依赖,所以计算机属性 now 不会更新。但是 methods 则不同,只要重新渲染,它就会被调用,因此函数也会被执行。
总结: 使用计算机属性还是 methods 取决于你是否需要缓存,当遍历大数组和做大量计算时,应当使用计算机属性,除非你不希望得到缓存。
评论