Vue中计算属性computed的示例解读
发布时间 - 2026-01-11 02:31:16 点击率:次计算属性

表达式是非常便利的,但是它们实际上只用于简单的运算。在模板中放入太多的逻辑会让模板过重且难以维护,所以引入了计算属性computed,将复杂的逻辑放入计算中进行处理,同时computed有缓存功能,防止复杂计算逻辑多次调用引起的性能问题。
computed原理
computed的属性reversedMessage在data中会有一个对我们不可见的cacheReversedMessage属性对应
cacheReversedMessage的值是根据其绑定的data中的message来决定的 获取reversedMessage会返回
cacheReversedMessage的值 message更新之后会立马调用reversedMessage的get方法去给cacheReversedMessage赋值(无论reversedMessage在dom中是否使用) cacheReversedMessage的值发生变化时,相应的dom也会发生变化
注意:computed中的属性和data中的属性名字不能相同,一个属性要么在data里;要么在computed里,computed里的属性要跟data中的配合使用,当data属性发生变化时才会调用get方法更新reversedMessage的值,否则get方法即使返回一个随机数,reversedMessage的值也不会变。
示例代码
computed相当于属性的一个实时计算,如果实时计算里关联了对象,那么当对象的某个值改变的时候,同事会出发实时计算。
比如:
<body id="content">
<parent :childrens="childrens"></parent>
</body>
<!-- 这个测试主要想证明: 对于计算属性里如果关联对象,即使对象不是组件作用域内的,当对象在外部改变了某个属性,同样会出发计算属性的方法-->
<script>
var parent = Vue.extend( {
props: {
childrens: ''
},
template: '<div >{{age}}</div>',
data: function() {
return {
name: '',
age: 18
};
},
computed: {
age: function() {
return this.childrens.age +10;
}
},
created: function() {
var _parent = this.$parent;
this._set = {};
this._set = _parent;
}
} );
var vm = new Vue( {
el: 'body',
data: {
childrens: {
name: '小强',
age: 20,
sex: '男'
}
},
components: {
'parent': parent
}
} );
vm.$data.childrens.age = 10;
</script>
当vm.$data.childrens.age这个值改变的时候,动态触发computed里的age属性计算,最后显示到页面的结果是:20。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# vue
# computed计算属性
# computed属性
# vue.js
# 计算属性
# Vue中的computed属性详解
# Vue computed计算属性的使用方法
# vue计算属性computed的使用方法示例
# vue计算属性computed方法内传参方式
# Vue 2.0学习笔记之Vue中的computed属性
# Vue.js第三天学习笔记(计算属性computed)
# Vue computed 计算属性代码实例
# 深入理解Vue Computed计算属性原理
# vue.js计算属性computed用法实例分析
# Vue.js中computed属性高效的数据处理案例
# 随机数
# 太多
# 也会
# 会让
# 这篇文章
# 谢谢大家
# 后会
# 要跟
# 时才
# 绑定
# 中会
# 去给
# 有一个
# 上只
# 改变了
# 结果是
# 引入了
# 有疑问
# br
# brush
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
JS碰撞运动实现方法详解
如何在阿里云虚拟主机上快速搭建个人网站?
如何快速搭建高效WAP手机网站?
bing浏览器学术搜索入口_bing学术文献检索地址
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复
C++用Dijkstra(迪杰斯特拉)算法求最短路径
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
如何在Ubuntu系统下快速搭建WordPress个人网站?
Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
Laravel如何实现模型的全局作用域?(Global Scope示例)
北京企业网站设计制作公司,北京铁路集团官方网站?
Windows Hello人脸识别突然无法使用
长沙做网站要多少钱,长沙国安网络怎么样?
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
javascript中的数组方法有哪些_如何利用数组方法简化数据处理
使用Dockerfile构建java web环境
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
如何在香港免费服务器上快速搭建网站?
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
微信小程序 scroll-view组件实现列表页实例代码
如何在阿里云通过域名搭建网站?
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道
如何快速搭建FTP站点实现文件共享?
js代码实现下拉菜单【推荐】
什么是javascript作用域_全局和局部作用域有什么区别?
EditPlus中的正则表达式实战(5)
iOS发送验证码倒计时应用
深入理解Android中的xmlns:tools属性
网站页面设计需要考虑到这些问题
javascript基于原型链的继承及call和apply函数用法分析
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
Laravel如何创建自定义Artisan命令?(代码示例)
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
浅析上传头像示例及其注意事项
深圳网站制作的公司有哪些,dido官方网站?
如何在阿里云香港服务器快速搭建网站?
实例解析angularjs的filter过滤器
iOS中将个别页面强制横屏其他页面竖屏
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面

