【Vue】基础(数据 & 计算属性 & 方法)
程序员文章站
2022-07-06 10:00:05
先从一个例子分析
source array:{{numbers}}
sorted array:{{sortArray()}}
3 in array index : {{findIndex(3)}}
totalNumbe ......
先从一个例子分析
<template> <div> <p>source array:{{numbers}}</p> <p>sorted array:{{sortarray()}}</p> <p>3 in array index : {{findindex(3)}}</p> <p>totalnumbers : {{totalnumbers}}</p> <button @click="changearray()">修改数组</button> </div> </template> <script> export default { data() { return { numbers: [1, 5, 3, 9, 2, 4, 8] }; }, computed: { totalnumbers() { console.log("compute total"); return this.numbers.reduce((total, val) => total + val); } }, methods: { sortarray() { return this.numbers.slice(0).sort((a, b) => a - b); }, findindex(value) { console.log("find index"); return this.numbers.findindex(m => m === value); }, changearray() { for (let i = 0; i < this.numbers.length; i++) { this.$set(this.numbers, i, math.floor(math.random() * 100)); } } } }; </script>
运行效果
1. 首先定义一组数组(数据)
2. 定义计算属性,计算数组总和(计算属性)
3. 定义3个方法,排序数组,查找指定值下标,修改数组(方法)
数据
data对象最适合纯粹的数据:如果想将数据放在某处,然后在模板、方法或者计算属性中使用
计算属性
计算属性适用于执行更加复杂的表达式,这些表达式往往太长或者需要频繁地重复使用
计算属性会有缓存,依赖的数据没有变化,会直接从缓存里取出,这个可以打印console.log,计算属性可以验证。所以计算属性适合用于密集cpu计算。
计算属性可以设置读写
total:{ get(){ .... } set(){ ... } }
方法
如果希望为模板添加函数功能时,最好使用方法,通常是传递参数,根据参数得到不同结果。
data对象 vs 方法 vs 计算属性
可读 | 可写 | 接受参数 | 需要运算 | 缓存 | |
---|---|---|---|---|---|
data | 是 | 是 | 不能 | 否 | 否 |
方法 | 是 | 否 | 能 | 是 | 否 |
计算属性 | 是 | 是 | 否 | 是 | 是 |
转发请标明出处:https://www.cnblogs.com/wilsonpan/p/12755476.html
上一篇: 嬴政为什仫不能统一全国?真相是什么
下一篇: 3 宏、条件编译