大家好,我是若川。我持续组织了近一年的源码共读活动,感兴趣的可以 点此扫码加我微信 lxchuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外:目前建有江西|湖南|湖北
籍前端群,可加我微信进群。
📍前言
最近在一次理解vue
项目的代码时,发现周一对好多API
都不太熟悉。这间接导致的问题是,代码理解速度要比平常要慢很多。于是乎,赶忙把vue API
的学习提上了日程。
在下面的文章中,将地板式地扫盲vue3
文档中API
模块的所有内容,融入周一的理解进行深入介绍。下面就来一起看看吧~🍬
一、🖇框架搭建
1、关于文档
首先附上官方文档的具体材料:https://cn.vuejs.org/api/
2、VUE3 API整体盘点
在vue3
的全新API
中,有部分在vue2
的基础上沿用了。还有另外一部分,是vue3
所新增加的。我们先来看vue3 API
文档主要包含哪些内容?
vue3 API
主要包含以下六个部分:
全局API —— 全局会用到的API
组合式API —— vue3所拥有的组合式API
选项式API —— vue2所拥有的选项式API
内置内容 —— 指令、组件、特殊元素和特殊属性
单文件组件 —— 语法定义、
<script setup>
和CSS功能进阶API —— 渲染函数、服务端渲染、TS工具类型和自定义渲染
![066eb02e6f56585c4aeede47891a5b83.png](https://i-blog.csdnimg.cn/blog_migrate/c25561da3af0569d496079b2e94cd27a.png)
下面将依据上面提到的六大点内容,来进行相应的剖析和讲解。
二、🎨全局API
vue3的全局API包含两个部分:应用实例和通用API。那它们各自都有哪些内容呢?
1、应用实例
![9edd207a66f6858656a05436b61b927e.png](https://i-blog.csdnimg.cn/blog_migrate/d773b11a28d97487889abaab99833b81.png)
2、通用API
![e730f359d2f26881f1372f0fbb29868c.png](https://i-blog.csdnimg.cn/blog_migrate/095ea50275355476f0080fe1056eafc6.png)
三、🚲组合式API
谈到vue3
,相信大家最为熟悉的就是 composition API
了,也就是 组合式 API
。那么,vue3
的 组合式 API
都给我们带来了什么呢?
1、setup
![3921a13da841629909f754806fa5f355.png](https://i-blog.csdnimg.cn/blog_migrate/14f50b0ae1e933b771aabf04c2b64630.png)
2、响应式:核心
![f291949ccacdaa097b3b7673a7143f06.png](https://i-blog.csdnimg.cn/blog_migrate/1100c557ee311f40e257311b1b1e8b0b.png)
3、响应式:工具函数
![efe0f6d6e66e050bea99d73214a37878.png](https://i-blog.csdnimg.cn/blog_migrate/d52a871784c6eb6c4033e2b1b7d83651.png)
4、响应式:进阶
![d5839b708ea82635a0be6a527b53284c.png](https://i-blog.csdnimg.cn/blog_migrate/9bb0d21de02907311e9842eae080e71a.png)
5、生命周期钩子
![c9a3e4d6917505953298ad68a55cae49.png](https://i-blog.csdnimg.cn/blog_migrate/0a2dbfb7b2addfe1323ea7cc8ff3f15d.png)
6、依赖注入
![55c615391d05b5af8f8b7cc93aaeb2d1.png](https://i-blog.csdnimg.cn/blog_migrate/7d72f531ad11af594f05f44db602cb9d.png)
四、🌠选项式API
选项式API
即 options API
。可能有的小伙伴会觉得它在 vue2
项目下会更为常见一些。但在 vue3
项目中,也是有一些 选项式API
值得我们去挖掘的。那都有哪些内容呢,我们来一探究竟。
1、状态选项
![debc2e062cb49ec22910a161b7a94570.png](https://i-blog.csdnimg.cn/blog_migrate/6e2adc96e169a0551ec36264fbecc8f7.png)
2、渲染选项
![c54212108bcaf9a63587d7f9bde71e78.png](https://i-blog.csdnimg.cn/blog_migrate/aab4a9401f1d5cefee4881c60f67616f.png)
3、生命周期选项
![d06433c26bf2fe33cd58f527ddce34cc.png](https://i-blog.csdnimg.cn/blog_migrate/d701846b1691ab7a81298064b2626d17.png)
4、组合选项
![dfc6b0fca8865f63a17c02ad0b2df5bd.png](https://i-blog.csdnimg.cn/blog_migrate/7bfb391dc94f2019ab74fcc0a683fc17.png)
5、其他杂项
![f1cddaf8656bfe8e4d9542451a5ba8c6.png](https://i-blog.csdnimg.cn/blog_migrate/1601b17e27bd4c6492e4f92440708ad8.png)
6、组件实例
![92ce879d58edde7e2bbd5c68a510e6ad.png](https://i-blog.csdnimg.cn/blog_migrate/6d6e2cfff4f2b55f7f78a719456e69d0.png)
五、🏕内置内容
vue3
的内置内容包括指令、组件、特殊元素element和特殊属性attributes。如果要谈在什么场景下会用到内置内容,那周一可能觉得,在一般的 vue
项目开发中,基本都会用到内置内容。较为常见的是用v-if和v-else-if来判断什么时候显示某个组件,什么时候不显示某个组件。
还有像 v-model
、v-on
和 v-for
等指令,都是在 vue
项目中非常高频率使用的指令。那 vue3
的内置内容都还有哪些东西呢?请看下方介绍。
1、指令
![fa0bcfae7cc8df949b2e5ceb64b50fcf.png](https://i-blog.csdnimg.cn/blog_migrate/62563221d321fd8c9065660611a9cba6.png)
2、组件
![4dcb99f74b8a8ee8876a7a8e66d6b97b.png](https://i-blog.csdnimg.cn/blog_migrate/f956c28b36e37344efb9ab6fa127851a.png)
3、特殊元素
![066ec73c668d94608ff9bf1d3e5baae1.png](https://i-blog.csdnimg.cn/blog_migrate/092b5c86024b2d8836655baac32da436.png)
4、特殊属性Attributes
![fcbdf2d6562b9afb0afd764e9f6d313b.png](https://i-blog.csdnimg.cn/blog_migrate/92a4567e2e28aa04aadd30a922b55a59.png)
六、📸单文件组件
对于 vue
来说,相信大家都会非常熟悉它的组件化思想,似乎有一种理念是:万物皆可组件。那对于一个组件来说,我们都需要了解它的什么内容呢?比如,我们写的 <template>
是什么,用 <script setup>
和 <script lang="ts">
都分别是什么含义,<style>
用了 scoped
是什么意思,:slotted
插槽选择器又在什么情况下使用呢?我们一起来一探究竟。
1、SFC语法定义
![54365c80344604225f7f35b12eae3542.png](https://i-blog.csdnimg.cn/blog_migrate/1fa3e543a8dce6d957ac334a66cd026b.png)
2、单文件组件script setup
![1ae4eeb92153cd563e03a266334acf79.png](https://i-blog.csdnimg.cn/blog_migrate/30d13a3a96fa2aa2518b426e5c5670a2.png)
3、css功能
![f2dd46252c609caffc17db0d0fbd7b24.png](https://i-blog.csdnimg.cn/blog_migrate/9018ea2e104f4ba443a977bddc257b0d.png)
七、📈进阶API
上面我们了解了 vue3
的基础API,准确来说,上面的 API
可以解决实际工作中 80%
的问题。那下面,我们就再来看一些较为进阶的 api
操作。下面所涉及到的这些 API
,更多的是可以在某些定制化的场景下,做一些高阶的操作。比如:我们可以在一个 headless
组件里,用 render
和 h()
函数,来渲染自定义的页面。那 进阶 API
都还有哪些东西呢,来看下面的内容。
1、渲染函数
![1d5eca1ce4d9300da0024fc65eb04acd.png](https://i-blog.csdnimg.cn/blog_migrate/2f8f84da3d9d52be1b06029603d6baff.png)
2、服务端渲染
![90d96b0964ab72345c336ab3658baf42.png](https://i-blog.csdnimg.cn/blog_migrate/d5c68d1f82940a31d3f7a2365ec8910f.png)
3、TypeScript工具类型
![3b2c355e4a7fafe2479da66dea77af02.png](https://i-blog.csdnimg.cn/blog_migrate/746b465733cc3f7d3cafed34d5cf8a51.png)
4、自定义渲染
![9f597956ffcd3df91258c1c41a632c9c.png](https://i-blog.csdnimg.cn/blog_migrate/dcf9a649b169746c2e751c70f3590f5d.png)
八、🛒结束语
到这里,我们也就讲完了 vue3 API
所有的知识点。个人认为,原理知识的学习,是为了更好的将其运用到项目中。所以在学完以上内容后,不妨可以进一步将其运用到项目里,总结出工作中的最佳实践。
文章根据周一的理解做了一些输出,有观点不当之处欢迎交流~
🐣彩蛋 One More Thing
思维导图github
地址:https://github.com/Jacqueline712/vue3-api
vue3
入门指南文章推荐:焕然一新的 Vue 3 中文文档要来了🎉
以上就是本文的全部内容,我们下期见!🍻🍻🍻
END
点个“在看”不失联