摘要: 1.Options API 存在的问题 使用传统OptionsAPI中,新增或者修改一个需求,就需要分别在data,methods,computed里修改 。 2.Composition API 的优势 我们可以更加优雅的组织我们的代码,函数。让相关功能的代码更加有序的组织在一起。 阅读全文
posted @ 2022-12-27 22:51 安静点-- 阅读(98) 评论(0) 推荐(0)
摘要: 响应式数据的判断 isRef: 检查一个值是否为一个 ref 对象 isReactive: 检查一个对象是否是由 reactive 创建的响应式代理 isReadonly: 检查一个对象是否是由 readonly 创建的只读代理 isProxy: 检查一个对象是否是由 reactive 或者 rea 阅读全文
posted @ 2022-12-27 22:44 安静点-- 阅读(92) 评论(0) 推荐(0)
摘要: provide 与 inject 作用:实现祖与后代组件间通信,儿子组件中也能用这种方式,但是一般不这么用,父子组件传信息一般直接用props属性。 套路:父组件有一个 provide 选项来提供数据,后代组件有一个 inject 选项来开始使用这些数据 具体写法: 祖组件中: setup(){ . 阅读全文
posted @ 2022-12-27 22:43 安静点-- 阅读(148) 评论(0) 推荐(0)
摘要: customRef 作用:创建一个自定义的 ref,并对其依赖项跟踪和更新触发进行显式控制。 比如在input更新数据之后,设置 指定时间之后再在h3标签上重新展示最新的数据: <template> <input type="text" v-model="keyWord"> <h3>{{keyWor 阅读全文
posted @ 2022-12-27 22:25 安静点-- 阅读(94) 评论(0) 推荐(0)
摘要: toRaw 与 markRaw toRaw: 作用:将一个由reactive生成的响应式对象转为普通对象。ref的对象不行 使用场景:用于读取响应式对象对应的普通对象,对这个普通对象的所有操作,不会引起页面更新。 markRaw: 作用:标记一个对象,使其永远不会再成为响应式对象。 应用场景: 有些 阅读全文
posted @ 2022-12-27 22:10 安静点-- 阅读(264) 评论(0) 推荐(0)
摘要: readonly 与 shallowReadonly readonly: 让一个响应式数据变为只读的(深只读)。 shallowReadonly:让一个响应式数据变为只读的(浅只读)。 应用场景: 不希望数据被修改时。 示例: <template> <h4>当前求和为:{{sum}}</h4> <b 阅读全文
posted @ 2022-12-27 22:00 安静点-- 阅读(96) 评论(0) 推荐(0)
摘要: shallowReactive 与 shallowRef shallowReactive:只处理对象最外层属性的响应式(浅响应式)。 shallowRef:只处理基本数据类型的响应式, 不进行对象的响应式处理。 什么时候使用? 如果有一个对象数据,结构比较深, 但变化时只是外层属性变化 > shal 阅读全文
posted @ 2022-12-27 21:52 安静点-- 阅读(49) 评论(0) 推荐(0)
摘要: toRef 作用:创建一个 ref 对象,其value值指向另一个对象中的某个属性。 语法:const name = toRef(person,'name') 应用: 要将响应式对象中的某个属性单独提供给外部使用时。 扩展:toRefs 与toRef功能一致,但可以批量创建多个 ref 对象,语法: 阅读全文
posted @ 2022-12-27 21:49 安静点-- 阅读(293) 评论(0) 推荐(0)
摘要: 自定义hook函数 什么是hook?—— 本质是一个函数,把setup函数中使用的Composition API进行了封装。 类似于vue2.x中的mixin。 自定义hook的优势: 复用代码, 让setup中的逻辑更清楚易懂。 Demo.vue: <template> <h2>当前求和为:{{s 阅读全文
posted @ 2022-12-27 21:32 安静点-- 阅读(187) 评论(0) 推荐(0)
摘要: Vue3.0中可以继续使用Vue2.x中的生命周期钩子,但有有两个被更名: beforeDestroy改名为 beforeUnmount destroyed改名为 unmounted Vue3.0也提供了 Composition API 形式的生命周期钩子,与Vue2.x中钩子对应关系如下: bef 阅读全文
posted @ 2022-12-27 21:07 安静点-- 阅读(180) 评论(0) 推荐(0)
摘要: watchEffect函数 watch的套路是:既要指明监视的属性,也要指明监视的回调。 watchEffect的套路是:不用指明监视哪个属性,监视的回调中用到哪个属性,那就监视哪个属性。 watchEffect有点像computed: 但computed注重的计算出来的值(回调函数的返回值),所以 阅读全文
posted @ 2022-12-27 20:41 安静点-- 阅读(148) 评论(0) 推荐(0)
摘要: watch监视ref函数 <template> <h2>当前求和为:{{sum}}</h2> <button @click="sum++">点我+1</button> <hr> <h2>当前的信息为:{{msg}}</h2> <button @click="msg+='!'">修改信息</butto 阅读全文
posted @ 2022-12-27 13:44 安静点-- 阅读(137) 评论(0) 推荐(0)
摘要: 计算属性 computed函数 与Vue2.x中computed配置功能一致 写法 <template> <h1>一个人的信息</h1> 姓:<input type="text" v-model="person.firstName"> <br> 名:<input type="text" v-mode 阅读全文
posted @ 2022-12-27 13:03 安静点-- 阅读(85) 评论(0) 推荐(0)
摘要: setup的两个注意点 setup执行的时机 在beforeCreate之前执行一次,this是undefined。 setup的参数 props:值为对象,包含:组件外部传递过来,且组件内部声明接收了的属性。 context:上下文对象 attrs: 值为对象,包含:组件外部传递过来,但没有在pr 阅读全文
posted @ 2022-12-27 11:18 安静点-- 阅读(88) 评论(0) 推荐(0)
摘要: reactive对比ref 从定义数据角度对比: ref用来定义:基本类型数据。 reactive用来定义:对象(或数组)类型数据。 备注:ref也可以用来定义对象(或数组)类型数据, 它内部会自动通过reactive转为代理对象。 从原理角度对比: ref通过Object.defineProper 阅读全文
posted @ 2022-12-27 10:35 安静点-- 阅读(188) 评论(0) 推荐(0)
摘要: ,, 阅读全文
posted @ 2022-12-27 10:33 安静点-- 阅读(26) 评论(0) 推荐(0)
摘要: reactive函数 作用: 定义一个对象类型的响应式数据(基本类型不要用它,要用ref函数,ref函数可以用基本类型也可以对象类型) 语法:const 代理对象= reactive(源对象)接收一个对象(或数组),返回一个代理对象(Proxy的实例对象,简称proxy对象) reactive定义的 阅读全文
posted @ 2022-12-27 10:27 安静点-- 阅读(348) 评论(0) 推荐(0)
摘要: ref函数 作用: 定义一个响应式的数据 语法: const xxx = ref(initValue) 创建一个包含响应式数据的引用对象(reference对象,简称ref对象)。 JS中操作数据: xxx.value 模板中读取数据: 不需要.value,直接:<div>{{xxx}}</div> 阅读全文
posted @ 2022-12-27 10:18 安静点-- 阅读(655) 评论(0) 推荐(0)
摘要: setup setup是vue3中的一个新的配置项,值为一个函数,我们在组件中用到的数据、方法等等,都要配置在setup中。 setup函数的返回值有两种1、返回一个渲染函数,可以自定义渲染内容 2、返回一个对象,对象中的属性和方法在模板中可以直接使用(1)在vue2的配置中可读取到vue3配置中的 阅读全文
posted @ 2022-12-27 08:50 安静点-- 阅读(764) 评论(0) 推荐(0)