摘要:一.Fragment 在Vue2中: 组件必须有一个根标签 在Vue3中: 组件可以没有根标签, 内部会将多个标签包含在一个Fragment虚拟元素中 好处: 减少标签层级, 减小内存占用 二.Teleport 什么是Teleport?—— Teleport 是一种能够将我们的组件html结构移动到
阅读全文
摘要:isRef: 检查一个值是否为一个 ref 对象 isReactive: 检查一个对象是否是由 reactive 创建的响应式代理 isReadonly: 检查一个对象是否是由 readonly 创建的只读代理 isProxy: 检查一个对象是否是由 reactive 或者 readonly 方法创
阅读全文
摘要:作用:实现祖与后代组件间通信 套路:父组件有一个 provide 选项来提供数据,后代组件有一个 inject 选项来开始使用这些数据,两个函数联合起来能实现祖孙组件间通信 具体写法 组组件 后代组件
阅读全文
摘要:作用:创建一个自定义的 ref,并对其依赖项跟踪和更新触发进行显式控制 代码演示: 1.自定义一个ref名为:myRef 需要实现从文本框改变内容,h3也会发生变化: 2.使用customRef(track,tigger){...}实现功能 两个参数分别是用于追踪的 track 与用于触发响应的 t
阅读全文
摘要:toRaw: 作用:将一个由reactive生成的响应式对象转为普通对象。 使用场景:用于读取响应式对象对应的普通对象,对这个普通对象的所有操作,不会引起页面更新。 markRaw: 作用:标记一个对象,使其永远不会再成为响应式对象。 应用场景: 有些值不应被设置为响应式的,例如复杂的第三方类库等。
阅读全文
摘要:readonly: 让一个响应式数据变为只读的(深只读)。 shallowReadonly:让一个响应式数据变为只读的(浅只读,只读第一层)。 isReadonly:判断一个数据是不是只读数据 应用场景: 不希望数据被修改时,或者用到的数据是从外部传进的。 代码演示: readonly: 上述代码中
阅读全文
摘要:shallowReactive:只处理对象最外层属性的响应式(浅响应式)。 shallowRef:只处理基本数据类型的响应式, 不进行对象的响应式处理。 什么时候使用? 如果有一个对象数据,结构比较深, 但变化时只是外层属性变化 > shallowReactive。 如果有一个对象数据,后续功能不会
阅读全文
摘要:一.ref与toRef的区别: ref:复制,修改响应式数据不会影响原始数据 toRef引用,修改响应式数据会影响原始数据 ref:数据发生改变,界面会自动更新 toRef:数据发生改变,界面也不会自动更新 toRef应用场景: 如果想让响应式数据和以前的数据关联起来,并且更新响应数据之后不想更界面
阅读全文
摘要:什么是hook?—— 本质是一个函数,把setup函数中使用的Composition API进行了封装。 类似于vue2.x中的mixin。 自定义hook的优势: 复用代码, 让setup中的逻辑更清楚易懂。 代码演示: 1.创建一个文件夹,自定义文件用来存放复用代码 2.复用代码写入js文件中
阅读全文
摘要:vue2.x的生命周期: Vue3.0中可以继续使用Vue2.x中的生命周期钩子,但有有两个被更名: beforeDestroy改名为 beforeUnmount destroyed改名为 unmounted Vue3.0也提供了 Composition API 形式的生命周期钩子,与Vue2.x中
阅读全文
摘要:watch的套路是:既要指明监视的属性,也要指明监视的回调。 watchEffect的套路是:不用指明监视哪个属性,监视的回调中用到哪个属性,那就监视哪个属性 watchEffect有点像computed: 但computed注重的计算出来的值(回调函数的返回值),所以必须要写返回值。 而watch
阅读全文
摘要:一.computed函数 与Vue2.x中computed配置功能一致 写法: 以上是两种写法: 第一种简写形式:如果在显示界面更改了fullname,会有警告:计算属性不能更改,因为简写的形式是只读的 第一种完整写法:可读可写 二.watch函数 与Vue2.x中watch配置功能一致 有6种情况
阅读全文
摘要:setup执行的时机 在beforeCreate之前执行一次,this是undefined。 setup的参数 props:值为对象,包含:组件外部传递过来,且组件内部声明接收了的属性。 context:上下文对象 attrs: 值为对象,包含:组件外部传递过来,但没有在props配置中声明的属性,
阅读全文
摘要:一.回顾vue2的响应式 实现原理: 对象类型:通过Object.defineProperty()对属性的读取、修改进行拦截(数据劫持)。 数组类型:通过重写更新数组的一系列方法来实现拦截。(对数组的变更方法进行了包裹)。 存在问题: 新增属性、删除属性, 界面不会更新。 直接通过下标修改数组, 界
阅读全文
摘要:一.ref函数 作用:定义一个响应式数据 语法:const xxx = ref(initValue) 创建一个包含响应式数据的引用对象(reference对象,简称ref对象) JS中操作数据: xxx.value 模板中读取数据: 不需要.value,直接:<div>{{xxx}}</div> 返
阅读全文
摘要:1.理解:Vue3中一个新的配置项,值为一个函数。 2.setup是所有Composition API(组合API)表演的舞台 3.组件中所用到的:数据、方法等等,均要配置在setup中。 4.setup函数的两种返回值: 若返回一个对象,则对象中的属性、方法, 在模板中均可以直接使用,不需要再写t
阅读全文
摘要:一.使用vue-cli创建 官方文档:https://cli.vuejs.org/zh/guide/creating-a-project.html#vue-create 二.使用vite创建 官方文档:https://v3.cn.vuejs.org/guide/installation.html#v
阅读全文
摘要:一.什么是路由: 1.理解: 一个路由(route)就是一组映射关系(key - value),多个路由需要路由器(router)进行管理。 2.前端路由:key是路径,value是组件。 二.基本使用: 1.安装vue-router,命令:npm i vue-router 2.应用插件:Vue.u
阅读全文
摘要:1.mapState方法: 用于帮助我们映射state中的数据为计算属性 注意1:mapState的作用:用来生成重复代码,比如return this$store.state.xxx就非常重复,无法复用。mapState采用{k:v}形式 注意2:不能把mapState({he:‘sum’,xuex
阅读全文
摘要:1.概念 在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信。 2.vuex理解 官方解释:vuex是一个专为vue.js应用程序开发的 状态管理模式。它采用集中式存储管理应用的所有的
阅读全文