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币余额
我的收藏
我的下载
下载帮助


最新资源
- 第八章---SIMULINK交互式仿真集成环境.doc
- 海外业务子体系试验室工作指导书范本-(3).pdf
- 大数据时代隐私权侵权构成要件的特殊性.docx
- 光明村1-4组施工小结.doc
- 3G三种制式的无线网络设计规划比较.doc
- 变频器100问.ppt
- 暖通及空调安装工程质量控制要点.pdf
- PLC四层电梯设计机电朱威江苏畜牧兽医职业技术学院.doc
- 如何确定针对性的培训需求.doc
- 美工--美丽的花瓶-.doc
- 基于众筹现状探析互联网金融未来发展趋势.docx
- 系统安全分析培训讲座.ppt
- 机电创优质量控制措施图文解析(高清标准图解).doc
- 平法入门识图与造价图解-钢筋计算讲座.pdf
- 定额解释(2004.doc
- 阿里云Redis数据库技术解析.docx



- 1
- 2
前往页