<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
正好在看Vue的官方檔案,也正好比對一下,做一下筆記
Vue2.x | Vue3 |
---|---|
beforeCreate | beforeCreate |
created | created |
beforeMount | beforeMount |
mounted | mounted |
beforeUpdate | beforeUpdate |
updated | updated |
beforeDestroy | beforeUnmount |
destroyed | unmounted |
新增 | |
errorCaptured | |
renderTracked | |
renderTriggered |
這裡我們會發現Vue3對Vue2的生命週期勾點似乎沒有做大的調整
destroyed
生命週期選項被重新命名為 unmounted
beforeDestroy
生命週期選項被重新命名為 beforeUnmount
所有生命週期勾點的 this
上下文將自動繫結至當前的範例中,所以我們可以在 勾點函數中通過this
輕鬆存取到 data、computed 和 methods。
那麼我有個大膽的想法!就是用箭頭函數進行定義生命週期勾點函數,可以如期的存取到我們想要的範例嗎?
測試:
const app = Vue.createApp({ data() { return { cart: 0 } }, mounted: () => { console.log(this.cart) }, methods: { addToCart() { this.cart += 1 } } }) app.mount("#app");
不出所望的undefined
了,我們列印一下this
指向的上下文是window
並不是我們的Vue
範例。
至於為什麼會這樣,我們可以很簡單的從箭頭函數的特性來進行一波簡單的解釋:
我們在定義箭頭函數的時候,定義初就係結了父級上下文,因為箭頭函數繫結了父級上下文,所以 this
不會指向預期的元件範例,並且this.data
、this.addToCart
都將會是 undefined。
選項式 API 的生命週期選項和組合式 API 之間是有對映關係的, 整體來看,變化不大,只是名字大部分上是on${選項式 API 的生命週期選項}
beforeCreate
-> 使用 setup()
created
-> 使用 setup()
beforeMount
-> onBeforeMount
mounted
-> onMounted
beforeUpdate
-> onBeforeUpdate
updated
-> onUpdated
beforeUnmount
-> onBeforeUnmount
unmounted
-> onUnmounted
errorCaptured
-> onErrorCaptured
renderTracked
-> onRenderTracked
renderTriggered
-> onRenderTriggered
activated
-> onActivated
deactivated
-> onDeactivated
使用:
export default { setup() { // mounted onMounted(() => { console.log('Component is mounted!') }) } }
在查閱 Vue 的生命週期的時候,發現了這個,說實話我在平常業務開發中還真沒怎麼用過,不過秉承著寧可多學些也不錯過的就記錄一下吧!
在Vue2版本中,如果我們想要監聽元件內的生命週期的階段。我們可以通過 hook:${元件生命週期勾點名稱}
來進行元件內部的事件監聽。
<template> <child-component @hook:updated="onUpdated"> </template>
在 Vue 3 中,如果我們想要監聽元件內的生命週期的階段。我們可以通過 vnode-${元件生命週期勾點名稱}
來進行元件內部的事件監聽。額外地,這些事件現在也可用於 HTML 元素,和在元件上的用法一樣。
<template> <child-component @vnode-updated="onUpdated"> </template>
或者用駝峰命名法
<template> <child-component @vnodeUpdated="onUpdated"> </template>
以上就是一文詳解Vue選項式 API 的生命週期選項和組合式API的詳細內容,更多關於Vue選項組合API生命週期的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45