计算属性:
| 1. 定义:要用的属性不存在,要通过已有的(vue中的)属性计算得来 |
| 2. 原理: 底层使用了Object.definedproperty方法提供的getter和setter |
| 3. get函数什么时候执行? |
| 1. 初次读取时会执行一次 |
| 2. 当依赖的属性数据发生改变时会被再次调用 |
| 4. 优势:与methods实现相比,内存中有缓存机制,效率高,调试方便 |
| 5. 备注: |
| 1. 计算属性最终会出现在vm上,直接读取即可 |
| 2. 如果计算的属性要被修改,那必须写set函数去响应修改,且set中要引起依赖的数据发生改变 |
实例
| <body> |
| <div id="root"> |
| <h1>你好,{{name}}</h1> |
| 姓:<input type="text" v-model="firstName"> |
| 名:<input type="text" v-model="lastName"> |
| 全名:<span>{{fullName}}</span> |
| </div> |
| <script> |
| Vue.config.productionTip = false; |
| let vm = new Vue({ |
| el:"#root", |
| data:{ |
| name:"彭可选1", |
| firstName: "张1", |
| lastName: "三1" |
| }, |
| computed:{ |
| fullName:{ |
| get(){ |
| return this.firstName+"-"+this.lastName; |
| }, |
| set(value){ |
| let arr = value.split("-"); |
| this.firstName = arr[0]; |
| this.lastName = arr[1]; |
| } |
| } |
| } |
| }) |
| </script> |
| </body> |
计算属性的简写
在计算属性只考虑读取,不考虑修改
的时候才能使用简写
| computed:{ |
| //简写 |
| fullName(){ |
| return this.firstName+"-"+this.lastName; |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南