Vue3.0 + Vue3.0的初體驗(yàn)

?? ?? 來(lái)嘍镜廉,來(lái)嘍,他真的來(lái)嘍愚战,Vue3.0 =课ā!<帕帷塔插!

官方文檔( 中文版 ):https://vue3js.cn/docs/zh/

創(chuàng)建一個(gè)Vue3.0的項(xiàng)目

? ? 1、npm init vite-app vue3.0

? ? 2拓哟、cd?vue3.0

? ? 3想许、npm install

? ? 4、npm run dev

? ? 此時(shí)彰檬,項(xiàng)目已經(jīng)創(chuàng)建成功I烊小!7瓯丁捧颅!


接下來(lái),我們先來(lái)體驗(yàn)一下Vue3.0的新東西

??????Object.defineProperty => Proxy

????????重構(gòu)了虛擬

????????DOMOptionApi => Composition API

1较雕、setup()? ? ??beforeCreate 碉哑、created 之前執(zhí)行

????????setup() 函數(shù)是 vue3 中,專門為組件提供的新屬性亮蒋。它為我們使用 vue3 的 Composition API 新特性提供了統(tǒng)一的入口, vue3取消了beforeCreate 扣典、created兩個(gè)鉤子,統(tǒng)一用setup代替, 該函數(shù)相當(dāng)于一個(gè)生命周期函數(shù)慎玖,vue中過(guò)去的data贮尖,methods,watch趁怔,computed等全部都用對(duì)應(yīng)的新增api寫在setup()函數(shù)中

2湿硝、ref()? 聲明單一基礎(chǔ)數(shù)據(jù)類型? 返回值是響應(yīng)式對(duì)象

? ???創(chuàng)建一個(gè)響應(yīng)式的數(shù)據(jù)對(duì)象薪前,ref() 函數(shù)調(diào)用的返回值是一個(gè)對(duì)象,這個(gè)對(duì)象上只包含一個(gè) value 屬性, 只在setup函數(shù)內(nèi)部訪問(wèn)ref函數(shù)需要加.value

3关斜、reactive()? ?聲明單一對(duì)象? (注意:解構(gòu)會(huì)破壞代理proxy即雙向綁定)

????reactive() 函數(shù)接收一個(gè)普通對(duì)象示括,返回一個(gè)響應(yīng)式的數(shù)據(jù)對(duì)象, 想要使用創(chuàng)建的響應(yīng)式數(shù)據(jù)也很簡(jiǎn)單,創(chuàng)建出來(lái)之后痢畜,在setup中return出去垛膝,直接在template中調(diào)用即可; 在reactive()函數(shù)中訪問(wèn)ref()函數(shù)創(chuàng)建的對(duì)象不用.value

4、isRef()? ?判斷是否是通過(guò)ref()函數(shù)創(chuàng)建出來(lái)的對(duì)象

5丁稀、toRefs()? ?從組合函數(shù)返回反應(yīng)對(duì)象

? ??toRefs() 函數(shù)可以將 reactive() 創(chuàng)建出來(lái)的響應(yīng)式對(duì)象吼拥,轉(zhuǎn)換為普通的對(duì)象,只不過(guò)二驰,這個(gè)對(duì)象上的每個(gè)屬性節(jié)點(diǎn)扔罪,都是 ref() 類型的響應(yīng)式數(shù)據(jù)

6、computed()? ??計(jì)算屬性?可創(chuàng)建只讀桶雀,和可讀可寫兩種

? ? 1)? 只讀? ? ? ? ? ?let fullName = computed(() => msg.value + '~' + name) ? ?

? ? 2)可讀可寫? ??let fullName2 = computed({ get: () => number.value + state.step, set: (v) => number.value = v })

7矿酵、watch()

? ??watch 函數(shù)用來(lái)偵聽特定的數(shù)據(jù)源,并在回調(diào)函數(shù)中執(zhí)行副作用矗积。默認(rèn)情況是懶執(zhí)行的全肮,也就是說(shuō)僅在偵聽的源數(shù)據(jù)變更時(shí)才執(zhí)行回調(diào)。

? ? 1)?監(jiān)聽 reactive( )聲明的數(shù)據(jù)

? ? ? ? 單數(shù)據(jù)監(jiān)聽:? ? watch( ( )=> reactiveV.name, (n, o)=>{ })

? ? ? ? 多數(shù)據(jù)監(jiān)聽:? ? ?watch([( )=> reactive.name, ( )=> reactive.sex], ([name, sex], [oldName, oldSex])=> { })

? ? 2)? ?監(jiān)聽 ref( )聲明的數(shù)據(jù)

? ? ? ? ?單數(shù)據(jù)監(jiān)聽:? ? ?watch(age,(n, o)=>{ })

? ???????多數(shù)據(jù)監(jiān)聽:? ? ?watch([age, weight], ([newAge, newWeight], [oldAge, oldWeight])=> { })

? ? 3)取消監(jiān)聽

? ? ? ? ? const stop = watch(age,(n, o)=>{ })

? ? ? ? ? setTimeout(() => { stop()?}, 1000)? ? ? ? ? ? ??// 一秒后取消對(duì)age的監(jiān)聽

8棘捣、LifeCycle Hooks(新的生命周期)

? ? ? ? onBeforeMount(() => { console.log('onBeforeMount') })?

? ??????onMounted(() => { console.log('onMounted') })?

? ??????onBeforeUpdate(() => {? ?? ?console.log('onBeforeUpdate') })?

? ??????onUpdated(() => { console.log('onUpdated') })?

? ??????onBeforeUnmount(() => { console.log('onBeforeUnmount') })

? ??????onUnmounted(() => { console.log('onUnmounted') })

9辜腺、Template?refs? ??通過(guò)refs 來(lái)回去真實(shí)dom元素

????????<h3 ref="h3">hello</h3>

? ? ? ? 想要得到h3的dom 在2.x中?this.$refs.h3? 在3.0中如下:

? ? ? ? ? 1)在setUp函數(shù)中聲明?let h3 = ref(null),并return出去h3

? ? ? ? ? 2)在onMounted()函數(shù)中打印 h3.value你會(huì)得到(<h3 data-v-c5362648="">hello</h3>)

10乍恐、global?Properties??vue3.0 的全局配置

? ??????Vue 2.x? 通過(guò) Vue.prototype擴(kuò)展

? ? ? ? vue3.0 通過(guò)app.config.globalProperties.$api = 'http://www.baidu.com'

? ? ? ? 在setUp函數(shù)中通過(guò) const { ctx } = getCurrentInstance()? ? ? ctx.$api ( http://www.baidu.com )

11评疗、Suspense

? ??異步組件在默認(rèn)情況下是可掛起的。這意味著如果它在父鏈中有一個(gè)?<Suspense>茵烈,它將被視為該?<Suspense>?的異步依賴百匆。在這種情況下,加載狀態(tài)將由?<Suspense>?控制呜投,組件自身的加載加匈、錯(cuò)誤、延遲和超時(shí)選項(xiàng)將被忽略仑荐。異步組件可以選擇退出?Suspense?控制雕拼,并通過(guò)在其選項(xiàng)中指定?suspensable:false,讓組件始終控制自己的加載狀態(tài)粘招。

??:1啥寇、Vue3.0template可以有多個(gè)根結(jié)點(diǎn)

? ? ? ? 2、創(chuàng)建組件需要用defineComponent包裹。


看看Vuex的使用

? ? 在setup()函數(shù)中使用store中的state示姿,commits甜橱,actions

? ? 首先,獲取ctx? ? const { ctx } = getCurrentInstance()

? ? 此時(shí)ctx.$store就是我們想要的store 栈戳,OK,想咋用就咋用了


暫時(shí)更新這么多难裆,后續(xù)還會(huì)增加子檀,敬請(qǐng)期待!D烁辍9犹怠!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末症虑,一起剝皮案震驚了整個(gè)濱河市缩歪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌谍憔,老刑警劉巖匪蝙,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異习贫,居然都是意外死亡逛球,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門苫昌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)颤绕,“玉大人,你說(shuō)我怎么就攤上這事祟身“挛瘢” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵袜硫,是天一觀的道長(zhǎng)氯葬。 經(jīng)常有香客問(wèn)我,道長(zhǎng)父款,這世上最難降的妖魔是什么溢谤? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮憨攒,結(jié)果婚禮上世杀,老公的妹妹穿的比我還像新娘。我一直安慰自己肝集,他們只是感情好瞻坝,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般所刀。 火紅的嫁衣襯著肌膚如雪衙荐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天浮创,我揣著相機(jī)與錄音忧吟,去河邊找鬼。 笑死斩披,一個(gè)胖子當(dāng)著我的面吹牛溜族,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播垦沉,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼煌抒,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了厕倍?” 一聲冷哼從身側(cè)響起寡壮,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎讹弯,沒(méi)想到半個(gè)月后况既,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡闸婴,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年坏挠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片邪乍。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡降狠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出庇楞,到底是詐尸還是另有隱情榜配,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布吕晌,位于F島的核電站蛋褥,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏睛驳。R本人自食惡果不足惜烙心,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望乏沸。 院中可真熱鬧淫茵,春花似錦、人聲如沸蹬跃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至丹喻,卻和暖如春薄货,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背碍论。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工谅猾, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人骑冗。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓赊瞬,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親贼涩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354