Vue 计算属性使用详解 计算属性是 Vue 中一种非常重要的概念,它可以帮助开发者更好地处理模板中的逻辑运算。下面是关于 Vue 计算属性的详细解释和使用方法。 什么是计算属性 计算属性是指在模板中使用的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护。例如,以下是一个简单的示例: ```html <div id="example"> {{ message.split('').reverse().join('') }}</div> ``` 这里的表达式包含 3 个操作,并不是很清晰。遇到复杂逻辑时应该使用 Vue 特带的计算属性 computed 来进行处理。 计算属性的用法 在一个计算属性里可以完成各种复杂的逻辑,包括运算、函数调用等,只要最终返回一个结果就可以。下面是一个简单的示例: ```html <div id="example"> <p>Original message: "{{ message }}"</p> <p>Computed reversed message: "{{ reversedMessage }}"</p> </div> var vm = new Vue({ el: '#example', data: { message: 'Hello' }, computed: { reversedMessage: function () { // `this` 指向 vm 实例 return this.message.split('').reverse().join('') } } }); ``` 结果: Original message: "Hello" Computed reversed message: "olleH" 计算属性的依赖 计算属性还可以依赖多个 Vue 实例的数据,只要其中任一数据变化,计算属性就会重新执行,视图也会更新。下面是一个示例: ```html <body> <div id="app"> <button @click="add()">补充货物1</button> <div>总价为:{{price}}</div> </div> </body> var app = new Vue({ el: '#app', data: { package1: { count: 5, price: 5 }, package2: { count: 10, price: 10 } }, computed: { price: function(){ return this.package1.count*this.package1.price+this.package2.count*this.package2.price } }, methods: { add: function(){ this.package1.count++ } } }); ``` 计算属性的小技巧 计算属性还有两个很实用的技巧: 1. 计算属性可以依赖其他计算属性。 2. 计算属性不仅可以依赖当前 Vue 实例的数据,还可以依赖其他实例的数据。 下面是一个示例: ```html <div id="app1"></div> <div id="app2">{{ reverseText}}</div> var app1 = new Vue({ el: '#app1', data: { text: 'computed' } }); var app2 = new Vue({ el: '#app2', computed: { reverseText: function(){ return app1.text.split('').reverse().join(''); // 使用 app1 的数据进行计算 } } }); ``` 计算属性的 getter 和 setter 每一个计算属性都包含一个 getter 和一个 setter。我们上面的两个示例都是计算属性的默认用法,只是利用了 getter 来读取。在你需要时,也可以提供一个 setter 函数,当手动修改计算属性的值就像修改一个普通数据那样时,就会触发 setter 函数,执行一些自定义的操作。 例如: ```javascript var vm = new Vue({ el: '#demo', data: { firstName: 'Foo', lastName: 'Bar' }, computed: { fullName: { // getter get: function () { return this.firstName + ' ' + this.lastName }, // setter set: function (newValue) { var names = newValue.split(' ') this.firstName = names[0] this.lastName = names[1] } } } }); ``` 因此,计算属性是 Vue 中非常重要的一部分,掌握它可以帮助开发者更好地处理模板中的逻辑运算和数据处理。































- 粉丝: 6
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 财务信息化:促进中小企业发展的方法探究.docx
- 智能家居—可能性研究分析评测报告.doc
- 互联网+一站式校园创业服务探索.docx
- 项目管理中的人力资源管理和沟通管理.docx
- 云计算网络环境下的信息安全问题研究.docx
- 大学设计箱体注塑模CADCAM方案一.doc
- 大数据下的医院财务信息共享研究.docx
- C语言程序设计算法资料.ppt
- PLC控制机械手95153.doc
- 学生成绩管理系统数据结构程序设计实验报告2.doc
- 网络工程第一章ppt.ppt
- 学校、幼儿园网络视频监控方案-教育文博.docx
- 大模型提示词优化器,让大模型根据测试结果进行反思生成优化建议,并结合用户要求进行提示词优化
- 单片机的按摩机的控制研究与设计开发.doc
- 伪均匀随机数的计算机检验.docx
- 大模型提示词优化器:依测试反思提建议并按用户要求优化



- 1
- 2
前往页