• 一文帮你掌握vue3这些核心知识点


    前言

    vue2已经渐行渐远,vue3早已甚嚣尘上。vue3作为尤大的苦心孤诣之作,在开源世界也是响当当的存在,三分天下有其一。尤大也携名兼千万之资远赴新加坡,全职献身给vue。

    再说说为何会有vue

    • 自从有了javascript和DOM API,还有CSS后,程序员就能随意创建HTML元素,和修改它们的样式和行为了。Java Applet,ActiveX还有Flash这些网页插件技术就嗣翘翘了
    • 自从有了jQuery后,操作DOM元素就变得更方便了,而且解决了浏览器兼容性问题,统一了思想和API。前端的面貌也就焕然一新了
    • 自从有了AngularJS, Vue和React这些框架后,前端就和后端分道扬镳了,前端就工程化了,组件复用性更强了。前端职位也能p5,p6,p7往上升了,甚至出现了前端的研究员。前端成为了一门专门的饭碗,一门手艺活。

    AngularJS和React已经如火如荼了,那尤大为何还整个Vue干啥?首先,2013年的时间点是群雄并起,AngularJS和React尚未一统江湖。感于Angular的繁复,不接地气,尤大说,我把一个template加上一些数据和事件处理,成为一个开箱即用,领包入住的可复用组件,岂不妙哉?于是,一个学艺术的文科生撸起袖子,干了一件理科生干的事情。这一干不得了,一个伟大的前端框架就此诞生了。

    vue3的口号是”渐进式的Javascript框架“,个人理解是你可以深度使用它,也可以浅度使用它,可以由浅入深地使用它。

    Vue 的口号“渐进式框架”,背后就是这个过程中形成的分层 API 设计。新手可以通过 CDN script、基于 HTML 的模板以及直观的 Options API 顺利学习入门。而专家可以通过全功能的 CLI、渲染函数以及 Composition API 来处理复杂需求。

    定义

    言归正传,简单回顾一下vue的几个基础概念:

    • app: 一个应用也被称为一个vue实例,能挂载到页面某个节点上。每个应用拥有自己的用于配置和全局资源的作用域。一个页面中可以多个应用共存。通过createApp()函数可以创建一个应用。
    • component: 一个以vue结尾的文件通常被称为一个vue组件,里面包含template定义,组件的数据和方法,还有样式表三大部分。组件是vue中可复用的基本单元,多个组件像搭积木一样,装配出一个vue应用。通过app.component()函数可以注册一个组件。注册一个组件后,你可以把它当HTML元素一样使用,这就是前端这些框架做的最重要的一件事情。
    • template: 一段由template包裹的html片段(通常不是完整的html页面),但具有灵魂,能和组件的数据互动。
    • plugin: 一种能为 Vue 添加全局功能的、通常是第三方的组件包,功能增强包。例如Element UI Plus就是vue的一种插件。通过app.use()函数能安装一个插件。
    • directive: 定义组件的状态和配置,表现形式上就是一个HTML元素的属性,例如v-show, v-if这些都是指令。
    • slot: 插槽,模板(template)上留出给开发者自定制的部分,把不变的部分留给自己,把可变的部分开放给别人。

    vue3核心知识点

    vue3总体内容既多也不多。说它多,就是细节多,与外部其它前端技术关联的东西多。说不多,就是跟我们使用相关的就那么几招,下面一一道来。

    定义一个组件

    一个vue组件由三部分构成: