初识Vue-数据

news/2024/11/17 21:18:55/

目录

响应式

data

prop

单向数据流

Prop属性校验

 计算属性(computed)

侦听器(watch)

 数组操作

数组操作-解决方案 


响应式

data

data为什么是函数?

因为只有返回一个生成data的函数,这个组件产生的每一个实例才能维持一份被返回对象的独立的拷贝。

prop

父组件向子组件传参的接口

单向数据流

vue2开始是单项数据流

子组件不建议修改父组件传递的参数

Prop属性校验

type:类型

required:是否必填

default:默认值

validator:自定义校验函数,返回bool

 计算属性(computed)

<template><div class="hello"><div v-for="(p, index) in classmates" :key="p.id">{{`${index}.${p.name}`}}<button @click="add(index)">+</button><button @click="del(index)">-</button>{{p.count}}</div>总{{count}}</div>
</template>
<script>
const CONSTANT = {};
export default {props: { msg: String },data() {return {classmates: [{ id: 1, name: "Han Meimei",count:0},{ id: 2, name: "Li Lei",count:0},{ id: 3, name: "Lily",count:0 }]};},computed: {count: function() {return this.classmates.reduce((p,c)=>{p = p + c.count;return p;}, 0);},constant: function() {return CONSTANT;}},methods: {add(i) {this.classmates[i].count++},del(i) {this.classmates[i].count--}}
};
</script>

计算属性(computed):是基于其内部的响应式依赖进行缓存的

只在相关响应式依赖发生改变时它们才会重新求值

方法(methods):无缓存

每当触发重新渲染时,调用方法将总会再次执行函数

可以利用computed的缓存特性,把一些常量值放在computed的值里。

computed: {constant: function() {return CONSTANT;    }
}

侦听器(watch)

响应数据的变化

用途:在数据变化后执行异步操作或者开销较大的操作

开销较大的操作如果用computed计算可能会阻塞运行,可以使用watch

 数组操作

vue2.0

响应式是通过Object.defineProperty对我们data属性进行遍历实现的

这导致有一些局限性

  • 不能检测对象属性的添加删除
  • 不能检测到数组长度变化(通过改变length而增加的长度不能检测到)
  • 不是因为defineProperty的局限性。而是处于性能考量的,不会对数组每个元素都监听

数组操作-解决方案 

change() {// this.classmates[2] = {id:4,name:"Wang"};// 添加Vue.set(this.classmates, "2", {id:4,name:"Wang"});this.$set(this.classmates, "2", {id:4,name:"Wang"});// 删除Vue.delete(this.classmates, "2");this.$delete(this.classmates, "2");
}
// vue对下面函数进行了响应式跟踪依赖
push()
pop()
shift()
unshift()
splice()
sort()
reverse()


http://www.ppmy.cn/news/59986.html

相关文章

【华为OD机试 2023最新 】新学校选址 、新学校位置(C语言题解 100%)

文章目录 题目描述输入描述输出描述用例题目解析代码思路C语言题目描述 为了解新学期学生暴涨的问题,小乐村要建立所新学校, 考虑到学生上学安全问题,需要所有学生家到学校的距离最短。 假设学校和所有学生家都走在一条直线之上,请问学校建立在什么位置, 能使得到学校到各个…

【算法】什么是离散化

作者&#xff1a;指针不指南吗 专栏&#xff1a;算法篇 &#x1f43e;人类做题的过程&#xff0c;就是个暴搜的过程&#x1f43e; 文章目录 1.引入2.思路3.模板题 1.引入 特指有序、整数的离散化。 离散化&#xff0c;本质上是一种哈希&#xff0c;它在保持原序列大小关系的前…

SPSS如何进行基本统计分析之案例实训?

文章目录 0.引言1.描述性分析2.频数分析3.探索分析4.列联表分析5.比率分析 0.引言 因科研等多场景需要进行数据统计分析&#xff0c;笔者对SPSS进行了学习&#xff0c;本文通过《SPSS统计分析从入门到精通》及其配套素材结合网上相关资料进行学习笔记总结&#xff0c;本文对基本…

【STM32】定时器PWM模式详解

PWM模式&#xff1a; PWM模式1&#xff0c;向上计数时&#xff0c;PWM信号从有效电平变为无效电平 PWM模式2&#xff0c;向上计数时&#xff0c;PWM信号从无效电平变为有效电平 PWM极性&#xff1a; 极性为高时&#xff0c;高电平为有效电平&#xff0c;低电平为无效电平 极性…

2023年2月573名学员通过国家信息安全水平考试其中CISP218名,NISP二级355名

北京PER20230217HEBAN3 考试时间&#xff1a;2023年02月17日 地点&#xff1a;北京 王佳俊、王后月、程鹏、王海洋、牛麒盛、张飞、禹晓瑞、李鹏卫、柳位世、李霖、刘志超、刘峰、张广军、刘鑫博、王琳、翟栋、刘高军、康寅哲、夏中玲、冯光豪、程岩辉、白玉强、遆盼明、李淼…

PBDB Data Service:JSON format(JSON格式)

JSON format&#xff08;JSON格式&#xff09; 描述概要例子例1&#xff1a;[/data1.1/colls/single.json?id1003](https://paleobiodb.org/data1.1/colls/single.json?id1003)例2&#xff1a;[/data1.1/config.json?showclusters&count](https://paleobiodb.org/data1.…

OpenCV中的图像处理3.4-3.6(四)平滑化、形态学、图像梯度

目录 3.4 平滑化图像目标二维卷积 ( 图像滤波 )图像模糊(图像平滑)其他资源 3.5 形态学转换目标理论结构化元素 3.6 图像梯度目标理论代码一个重要的问题! 翻译及二次校对&#xff1a;cvtutorials.com 编辑者&#xff1a;廿瓶鲸&#xff08;和鲸社区Siby团队成员&#xff09; …

台积电和三星都变脸了,美国图谋失败,外媒:拜登心都碎了

美国的图谋甚大&#xff0c;然而美国的图谋却又如此迅速的浮现&#xff0c;看穿美国图谋的台积电和三星两家芯片企业如今不干了&#xff0c;这将破坏美国的计划&#xff0c;让美国无可奈何。 一、美国精心编织的大网 从数年前开始&#xff0c;美国就要求台积电和三星上交机密数…