当前位置: 首页> 健康> 科研 > 更合网站制作公司_重庆市地图_百度地图导航手机版免费下载_厦门seo怎么做

更合网站制作公司_重庆市地图_百度地图导航手机版免费下载_厦门seo怎么做

时间:2025/8/29 10:10:29来源:https://blog.csdn.net/qushaming/article/details/143274964 浏览次数:0次
更合网站制作公司_重庆市地图_百度地图导航手机版免费下载_厦门seo怎么做

目录

一、computed 计算属性

1.1. 介绍

1.2. 代码

1.3. 运行效果 

二、methods 方法

2.1. 介绍

2.2. 代码

2.3. 运行效果

三、总结 


 

我们在项目开发过程中遇到需要进行计算的需求时,通过computed计算属性和methods方法均能实现,由此将带来一个问题,这两者的使用我们该如何选择?

一、computed 计算属性

1.1. 介绍

作用:封装了一段对于数据的处理,求得一个结果。

语法:

① 写在 computed 配置项中

② 作为属性,直接使用 → this.计算属性 {{ 计算属性 }}

缓存特性(提升性能):

计算属性会对计算出来的结果缓存,再次使用直接读取缓存;如果依赖项变化了,会自动重新计算 → 并再次缓存

1.2. 代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>table {border: 1px solid #000;text-align: center;width: 240px;}th,td {border: 1px solid #000;}h3 {position: relative;}</style>
</head>
<body><div id="app"><h3>骑行队公路车品牌统计清单<span>{{ totalCount }}</span></h3><h3>骑行队公路车品牌统计清单<span>{{ totalCount }}</span></h3><table><tr><th>品牌系列名</th><th>数量</th></tr><tr v-for="(item, index) in list" :key="item.id"><td>{{ item.name }}</td><td>{{ item.num }}辆</td></tr></table><!-- 目标:统计求和,求得公路车总数 --><p>公路车总数:{{ totalCount }} 个</p></div><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script><script>const app = new Vue({el: '#app',data: {// 现有的数据list: [{ id: 1, name: '崔克马东9', num: 6 },{ id: 2, name: '闪电SL8', num: 2 },{ id: 3, name: '梅花C68', num: 5 },{ id: 4, name: 'Cervelo S5', num: 7 }]},computed: {totalCount () {console.log('公路车总数统计')// 基于现有的数据,编写求值逻辑// 计算属性函数的内部可以直接通过this访问到app实例 this.list// 需求:对 this.list数组里面的num进行求和(使用到reduce函数),其中sum为总和item为元素项0为起始总和赋值给sumlet total = this.list.reduce((sum, item) => sum + item.num, 0)return total}}})</script>
</body>
</html>

1.3. 运行效果 

我们可以看到,代码中我们进行了三次总数计算,但是控制台中计算的方法只执行了一次(只输出一条日志),这就是因为computed计算属性的缓存特性。

二、methods 方法

2.1. 介绍

作用:给实例提供一个方法,调用以处理业务逻辑。

语法:

① 写在 methods 配置项中

② 作为方法,需要调用 → this.方法名( ) {{ 方法名() }} @事件名="方法名"

不提供缓存的特性

2.2. 代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>table {border: 1px solid #000;text-align: center;width: 240px;}th,td {border: 1px solid #000;}h3 {position: relative;}</style>
</head>
<body><div id="app"><h3>骑行队公路车品牌统计清单<span>{{ totalCountFn() }}</span></h3><h3>骑行队公路车品牌统计清单<span>{{ totalCountFn() }}</span></h3><table><tr><th>品牌系列名</th><th>数量</th></tr><tr v-for="(item, index) in list" :key="item.id"><td>{{ item.name }}</td><td>{{ item.num }}辆</td></tr></table><!-- 目标:统计求和,求得公路车总数 --><p>公路车总数:{{ totalCountFn() }} 个</p></div><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script><script>const app = new Vue({el: '#app',data: {// 现有的数据list: [{ id: 1, name: '崔克马东9', num: 6 },{ id: 2, name: '闪电SL8', num: 2 },{ id: 3, name: '梅花C68', num: 5 },{ id: 4, name: 'Cervelo S5', num: 7 }]},methods: {totalCountFn () {console.log('公路车总数统计method')let total = this.list.reduce((sum, item) => sum + item.num, 0)return total}},computed: {totalCount () {console.log('公路车总数统计')// 基于现有的数据,编写求值逻辑// 计算属性函数的内部可以直接通过this访问到app实例 this.list// 需求:对 this.list数组里面的num进行求和(使用到reduce函数),其中sum为总和item为元素项0为起始总和赋值给sumlet total = this.list.reduce((sum, item) => sum + item.num, 0)return total}}})</script>
</body>
</html>

2.3. 运行效果

我们可以看到,总数计算方法执行了三次,methods方法的执行不提供缓存的特性。

三、总结 

computed计算属性更加侧重于处理数据、获取结果,而且它可以对结果进行缓存;methods方法更加侧重于提供业务逻辑。

关键字:更合网站制作公司_重庆市地图_百度地图导航手机版免费下载_厦门seo怎么做

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: