一、computed 计算属性
-
在Vue应用中,在模板中双向绑定一些数据或者表达式,但是表达式如果过长,或者逻辑更为复杂 时,就会变得臃肿甚至难以维护和阅读,例如:
<div>写在双括号中的表达式太长了,不利于阅读{{text.split(',').reverse().join(',')}} </div>
将这段操作text.split(‘,’).reverse().join(‘,’) 放到计算属性中,最终返回一个结果值就可以
-
作用
减少运算次数, 缓存运算结果. 运用于重复相同的计算.
二、代码演示
1、传统方式
-
代码
<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title></head><body><div id="app"><p>{{add()}}</p></div></body><script src="js/vue.min.js"></script><script>var Vm = new Vue({el: "#app",data: {x: 1,y: 2,},methods: {add: function () {return this.x + this.y;},},});</script> </html>
2、computed 优化
-
修改代码
<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title></head><body><div id="app"><!-- <p>{{add()}}</p> --><p>{{add}}</p></div></body><script src="js/vue.min.js"></script><script>var Vm = new Vue({el: "#app",data: {x: 1,y: 2,},methods: {// add: function () {// return this.x + this.y;// },},// 使用computed属性computed: {add: function () {return this.x + this.y;},},});</script> </html>
-
测试结果