距離vue3.0 bate 版
正式發布已經1個月了。
不過不需要擔心學不動的問題,因為現在vue3
是完全相容vue2
的,你可以在vue3
中繼續使用vue2
,甚至可以兩者一起使用。還有很重要的一點,vue2
還會再更新乙個版本,讓大家能完美過渡到vue3
。
vue3
對使用者來說最大的改變應該就是composition api
。
文件位址 (昨天更新了中文文件)
在vue2
中我們的optionapi
的寫法:
data()
},methods:
,mounted()
,...
...
這種寫法的好處就是把程式的功能型別整合到了一起,你是什麼型別就去哪個隊伍中。但是隨著vue
專案越來越大,維護起來就也越發麻煩,我們修改乙個方法,需要在data
,methods
,computed
,watch
以及各個生命週期中反覆跳躍,然後就出現了這種情況——明明只換了一塊磚,我房子怎麼塌了。
因此,vue3
中進行了修改,大概就是下面這個樣子。
setup()
;}
這…56個民族56朵花,56個兄弟姐妹是一家?是的,data
,methods
,computed
...
等等,我不管你是誰,是用來幹嘛的,全給你寫一起。嘖嘖嘖,聽起來就很粗暴的樣子,那實際效果的話,直接上圖吧。
相同的顏色塊代表同乙個功能,這樣可以看到,在更新之後,一塊區域就是乙個功能,只要開發者不是乙個喜歡挑戰極限的多人運動員的話,維護起來真的不要太舒服。
下面介紹一下其中的調整:
options api
composition api
beforecreate
setup()
created
setup()
beforemount
onbeforemount
mounted
onmounted
beforeupdate
onbeforeupdate
updated
onupdated
beforedestroy
onbeforeunmount
destroyed
onunmounted
errorcaptured
onerrorcaptured
改變不算太大,以往的mode: history
變成了history: routerhistory
,然後在頁面使用時不再是this.$router
,而是先引用再宣告:
import
from
'vue-router'
setup()
其中,好像useroute
監聽步到router-link
下的傳遞的引數。
這個也沒啥變化,也是先引用再宣告使用。
vue
中的自定義指令。使用方法沒有變,但是原來的bind
inserted
等一系列鉤子都失效了,換成updated
,mounted
等可以使用 。
這個功能我太喜歡了。顧名思義,搖動樹的時候會搖掉一些新陳代謝掉的沒用的樹葉。其實,我喜歡叫它hair-dragging
,畢竟頭髮對於我們這個行業的同學們更形象,也更深刻。
這個功能的加入會在我們儲存**時,告訴我們哪些東西是沒用的,錯誤的。比如我定義了乙個name
卻沒有使用,它就會報錯給我們,這樣節省了一部分不必要的開支。
其他的話等慢慢總結,慢慢發現。
github: jarry007
vue3關於 sync的用法
場景描述 我們都知道,子元件是不能夠去修改父元件傳遞過來的資料。因為如果子元件去修改父元件件傳遞過來的資料。會導致資料的應用流向變得難以理解。但是有些時候,我們需要當子元件的資料變化後,父元件的資料也跟著變化。vue2中我們可以使用.sync來解決這個辦法。那麼vue3應該怎麼去處理這個問題了?這個...
關於vue的一些總結
最近學習了一段時間的vue js 除了路由沒用過之外 基本上其他的都用過了 對於vue的一些用法 在此做乙個總結。開始使用vue之前 需要匯入vuejs這個檔案到專案中 在做專案的過程中 我們基本上需要用到的就是vue的雙向繫結 條件與迴圈了 下面先介紹一下vue的雙向繫結 指令 v model v...
Vue2和Vue3的區別
vue2 的雙向資料繫結是利用es5 的乙個 api object.definepropert 對資料進行劫持 結合 發布訂閱模式的方式來實現的。vue3 中使用了 es6 的 proxyapi 對資料 相比於vue2.x,使用proxy的優勢如下 1 defineproperty只能監聽某個屬性,...