| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> Vue3 学习笔记--组合式 API -> 正文阅读 |
|
[JavaScript知识库]Vue3 学习笔记--组合式 API |
先来介绍一下 Mixin 1、MixinMixin 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能 一个 mixin 对象可以包含任意组件选项 当组件使用 mixin 对象时,所有 mixin 对象的选项将被?混合?进入该组件本身的选项
1.1 合并规则data 函数 ?钩子函数 值为对象的选项,例如 methods、components 1.2 全局 mixin一旦使用全局 mixin,它将影响每一个之后创建的组件
和 mixin 有些类似的是 extends 2、组合式 API先来说说 Options API Options API 的特点是在对应的属性中编写对应的功能模块 比如:在 methods 中定义方法,在 computed 中定义计算属性 缺点是: 实现某一个功能时,该功能对应的代码逻辑会被?拆分?到各个属性中 然而,当我们的组件变得更大、更复杂的时候,我们需要实现的功能也就越多 每一个功能对应的代码逻辑都被拆的很分散,代码碎片化 这是?不方便?我们的去?理解和维护?这个组件的 因此,在 Vue 组件中,我们可以在 setup 中使用组合式 API,来解决上述问题 注意:在 setup 中,我们应该避免使用 this 2.1 setup 组件选项使用 setup 函数时,它将接受两个参数:
2.1.1 Props对于 props 的相关内容,跟之前讲述的是一样的
2.1.2 Context里面包含三个属性:
?2.1.3 结合模板使用3、响应性?API包含以下部分:
3.1 响应性基础 API3.1.1 reactive用法如下:
返回对象的响应式副本 响应式转换是深层的 注意:reactive 对传入的类型是有限制的,它要求我们必须传入的是 一个对象或者数组类型 那如果我们想传入基本数据类型的时候怎么办? Vue3 给我们提供了另外一个 API:ref,稍后我们会对其进行讲解 3.1.2 readonly接受一个对象或 ref 并返回原始对象的只读代理(也就是说它依然是一个 proxy ?) 只读代理是深层的:任何被访问的嵌套 property 也是只读的 在实际开发中,传入 readonly 的参数有三种类型:
用法如下: 一般我们什么时候会用到 readonly 呢? 我们给其它组件传递数据,希望它们使用我们传递过去的数据 但是不允许它们修改的时候 3.1.3 isProxy检查对象是否由 reactive 或 readonly 创建的 proxy 3.1.4 isReactive检查对象是否由 reactive 创建的响应式代理 用法如下:
注意:如果该代理是 readonly 创建的,但包裹了由 reactive 创建的另一个代理,它也会返回 true 3.1.5 isReadonly检查对象是否由 readonly 创建的只读代理 3.1.6 toRaw返回 reactive 或 readonly 代理的原始对象 3.1.7 shallowReactive创建一个响应式代理,它跟踪其自身 property 的响应性,但不执行嵌套对象的深层响应式转换 3.1.8 shallowReadonly创建一个 proxy,使其自身的 property 为只读,但不执行嵌套对象的深度只读转换 (暴露原始值) 3.2 Refs3.2.1 ref接受一个内部值并返回一个响应式且可变的 ref 对象 ref 对象具有指向内部值的单个 property?.value 这里有两个注意事项:
如果将 ref 放到一个 reactive 的属性中,那么在模板中使用时会自动解包? 4、Computed 和 watch4.1 computed接受一个 getter 函数,并为从 getter 返回的值返回一个?不变的?响应式 ref 对象 使用具有 get 和 set 函数的对象来创建?可写?的 ref 对象 4.2 watchEffect在响应式地跟踪其依赖项时?立即运行?一个函数,并在?更改?依赖项时?重新运行?它
?4.2.1 停止监听4.2.2?清除副作用有时副作用函数会执行一些异步的副作用,这些响应需要在其失效时清除 待更... |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/26 16:16:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |