有关vue中的计算属性与方法、计算属性与监听属性的区别

一、计算属性与方法

      首先两者返回的结果一样,但是

      1、计算属性他是依赖于响应式缓存的,也就是说当响应式信息没有改变时,它会利用原先的缓存进行显示,而不用不停的去调用方法

      例如:有一个计算属性A,需要大量的计算才可以得到A,同时有一个依赖于A的计算属性B,那么如果没有缓存的话,为了得到B就需要多次执行A,想想是不是有时候没有必要呢

       所以他们的区别就在于你在实际的开发中,是否需要缓存,需要的话就用计算属性,不需要就用方法

         实例:

             计算属性

                     computed: {

                         // 计算属性的getter

                        reversedMessage: function () {

                                           // `this` 指向 vm 实例

                                       return this.message.split('').reverse().join('')

                                                                }

                                      }

             方法:

                   // 在组件中

                  methods: {

                          reversedMessage: function () {

                                         return this.message.split('').reverse().join('')

                                                                         }

                                    }

二、计算属性与侦听属性

     侦听属性:是vue提供的一种可以观察和响应vue数据变化的一个方法。

    但是如果你要观察数据变化还是用计算属性比较好,因为侦听属性写起来相对来说没有计算属性结构那个直观,而且有些繁琐
   官网实例如下:

<div id="demo">{{ fullName }}</div>
var vm = new Vue({
el: '#demo',
data: {
firstName: 'Foo',
lastName: 'Bar',
fullName: 'Foo Bar'
},
//侦听属性
watch: {
firstName: function (val) {
this.fullName = val + ' ' + this.lastName
},
lastName: function (val) {
this.fullName = this.firstName + ' ' + val
}
}
})

上面代码是命令式且重复的。将它与计算属性的版本进行比较:

var vm = new Vue({
el: '#demo',
data: {
firstName: 'Foo',
lastName: 'Bar'
},
//计算属性
computed: {
fullName: function () {
return this.firstName + ' ' + this.lastName
}
}
})

那个更好?一目了然

那侦听属性没有用吗?怎么可能,官网写了它当然有用。

当需要在数据变化时执行异步或开销较大的操作时

比如在得到结果前设置一个中间状态、操作异步等这些计算属性是做不到的(可以去参考官网哦,哪里有实例讲的很清楚的https://doc.vue-js.com/v2/guide/computed.html)

posted on   三胖儿逆袭  阅读(2526)  评论(0编辑  收藏  举报

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2019-08-05 解决“阻塞效应”-解决脚本文件下载阻塞网页渲染的问题
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示