计算属性的基本使用
2019-04-15 21:35
120 查看
computed 计算属性 的基本使用
computed : Vue提供的一个配置项
注意: 当data中的数据发生变化,页面中的指令和表达式会重新计算, 有时候不相关数据变化会导致一直重新计算,所以这里引出了计算属性
-
如何使用?
computed 和 data同级,计算属性写在computed中;
写起来像方法;
用起来像属性。
-
特点(注意点):
1)一定要有返回值。
2)可以使用data中的已知值。
3)只要跟计算属性相关的数据发生了变化,计算属性就会重新计算,不相关的属性无论如何变化,都不会导致计算属性变化。
4)计算属性名不能和data中的数据重名(因为要使用data中的数据)
-
什么时候使用?
想要根据data中的已知值,得到一个新值,并且这个新值会随着相关数据的变化而变化
little-demo: 使用计算属性来控制元素的显示与隐藏
<div id="app"> <input type="text" v-model="name" /> <span v-show="isShow">请输入3-6个字符</span> </div> <script src="./vue.js"></script> <script> const vm = new Vue({ el: "#app", data: { name: "zs" }, computed: { isShow() { //当this.name的长度小于3或者大于6时显示提示内容(我根据name的变化而变化) if (this.name.length >= 3 && this.name.length <= 6) { return false; } else { return true; } } } }); </script>
演示问题 : 通过改变num的值,来控制span的显示和隐藏
问题:
我们想要的是点击时,num变化了,span才显示.
但是现在,没有点击按钮,num没有发生变化,在文本框中输入文字,isShow函数也调用了,这并不是我们想要的.
这是因为: 一旦data中的数据发生改变,页面中所有的指令和表达式都会重新计算,这样非常影响性能!
<div id="app"> <input type="text" v-model="name" /> <span v-show="isShow">我出现了</span> <h1>{{ num }}</h1> <button @click="fn">点击++</button> </div> <script src="./vue.js"></script> <script> const vm = new Vue({ el: "#app", data: { name: "zs", num: 100 }, methods: { fn() { this.num++; } // isShow() { // console.log("我变化了"); // return this.num > 100; // } }, //解决: vue中提供了计算属性 computed: { isShow() { console.log("我变化了"); return this.num >= 105; //计算属性只相关属性有关,相关属性变化,计算属性才会变化.(这是我们想要的结果) } } }); </script>
思考 : 为什么要有计算属性?
相关文章推荐
- CodeSmith 使用教程(6): 基本语法-声明和使用属性
- Extjs借鉴学习--基本组件属性、方法使用
- Ruby之旅(二) Ruby的基本语法以及对象的使用,方法的定义及调用,属性的定义及使用
- CodeSmith 使用教程(6): 基本语法-声明和使用属性
- Linux学习之修改网络属性命令的基本使用
- java反射基本使用(得到类中属性、方法、构造方法)
- Vue1.0学习总结(3)———vue1.0的生命周期、vue计算属性computed的使用、vue实例(vm)上方法总结、vue结合动画使用
- (一) Graphivz 基本图形使用及属性设置
- UI基础-基础控件-0323-xcode使用与UIView的几个基本属性
- AndroidStudio下加入百度地图的使用 (三)——API基本方法及常量属性
- swift中的如果在构造方法中使用KVC, 调用了super.init(), 报错, 基本数据类型属性找不到
- 属性动画的基本使用
- android Paint的使用,基本属性
- vue computed计算属性使用
- 使用List<Map>或者List<entityObject>计算指定属性的总和
- {{angular.js 使用技巧}} - 实现计算列属性
- IOS开发UI篇—导航控制器属性和基本使用
- serialPort基本属性与使用(串口)——C#
- IOS开发UI高级—05导航控制器属性和基本使用
- scrollView的基本使用之其他属性