Vue3.0 新特性

Vue3.0 在去年9月正式发布了,也有许多小伙伴都热情的拥抱Vue3.0,这篇文章就是在使用后的一个总结, 包含Vue3新特性的使用以及一些用法上的变更。

一 composition API

Composition API的主要思想是,我们将它们定义为从新的 setup 函数返回的JavaScript变量,而不是将组件的功能(例如state、method、computed等)定义为对象属性。

更好的逻辑复用与代码组织,可以通过组合逻辑代码函数取代option式的组合代码

option式组件组合的业务逻辑分散在组件中的各处,需要先关注data,methods,computed,分散在各处的代码。

(下图是官网中对比composition 和 options 组织代码的对比,可以看出composition API 将每个逻辑关注点的代码现在都被组合进了一个组合函数,大大减少了在组件中的代码来回跳转)

可以看出composition API 可以组织和抽取大部分的工具代码,来做代码复用,而不再像option式组件担心多个Mixin之间的数据污染。

图1.0 对比

二 自定义  Hooks


您可以通过在lifecycle钩子前面加上“on”来访问组件的生命周期挂钩。

文章中的表2.0 包含如何在setup()中调用生命周期挂钩

表2

因为安装程序是围绕beforeCreate和created生命周期挂钩运行的,所以不需要显式定义它们。换句话说,在这些钩子中编写的任何代码都应该直接在setup函数中编写。

这些函数接受当组件调用钩子时将执行的回调:

// MyBook.vue

export default { 

setup() {   

// mounted   

onMounted(() => {     

          console.log('Component is mounted!') 

    })

}}

三 生命周期钩子(vue2对比vue3)

beforeCreate  -> setup()

created      -> setup()

beforeMount  -> onBeforeMount

mounted      -> onMounted

beforeUpdate  -> onBeforeUpdate

updated      -> onUpdated

beforeDestroy -> onBeforeUnmount

destroyed    -> onUnmounted

activated    -> onActivated

deactivated  -> onDeactivated

errorCaptured -> onErrorCaptured

四 Teleport

Teleport 是一种能够将我们的模板移动到 DOM 中 Vue app 之外的其他位置的技术,就有点像哆啦A梦的“任意门”

如果我们嵌套在 Vue 的某个组件内部,那么处理嵌套组件的定位、z-index 和样式就会变得很困难。使用Teleport 就可以方便的解决组件间 css 层级问题。

我们将模态内容包装在 teleport 组件中,还需要指定一个 to 属性,为该属性分配一个查询选择器,以标识目标元素,要使用teleport,首先要在页面上添加一个元素,我们要将模态内容移动到该页面

下面举个例子

在本例中为 #modal-wrapper

继续了解可以看 //www.greatytc.com/p/e27b3308fc0a

五 Suspense

Suspense组件用于在等待某个异步组件解析时显示后备内容。以前,在Vue2中,我们必须使用条件(例如 v-if 或 v-else)来检查我们的数据是否已加载并显示后备内容。但是现在,Suspense随Vue3内置了,因此我们不必担心跟踪何时加载数据并呈现相应的内容。

Suspense组件是Vue3中的知名功能之一。

它们允许我们的应用程序在等待异步组件时渲染一些后备内容,可以让我们创建一个平滑的用户体验。

值得庆幸的是,Suspense组件非常容易理解,它们甚至不需要任何额外的导入!

Suspense组件到底是什么?

Suspense组件用于在等待某个异步组件解析时显示后备内容。

你可能会想我们会在什么时候使用异步组件?

老实说,超出你的想象。每当我们希望组件等待数据获取时(通常在异步API调用中),我们都可以使用Vue3 Composition API制作异步组件。

详情了解可以访问://www.greatytc.com/p/4bc2dfba1ffd

六  Fragment

Fragment是一种可以嵌入在活动中的UI片段,能够让程序更加合理和充分地利用大屏幕的空间,出现的初衷是为了适应大屏幕的平板电脑,可以将其看成一个小型Activity,又称作Activity片段。使用Fragment可以把屏幕划分成几块,然后进行分组,进行一个模块化管理。Fragment不能够单独使用,需要嵌套在Activity中使用,其生命周期也受到宿主Activity的生命周期的影响

详情了解可以访问 :https://blog.csdn.net/harvic880925/article/details/44917955

七 Tree-shaking

Tree-shaking的本质是消除无用的js代码。无用代码消除在广泛存在于传统的编程语言编译器中,编译器可以判断出某些代码根本不影响输出,然后消除这些代码,这个称之为DCE(dead code elimination)。

详情了解可以访问:https://juejin.cn/post/6844903544756109319

八  Vue3 对比 Vue.x变更

未完待续

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,509评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,806评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,875评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,441评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,488评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,365评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,190评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,062评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,500评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,706评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,834评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,559评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,167评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,779评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,912评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,958评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,779评论 2 354

推荐阅读更多精彩内容