自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Vue2.x與Vue3.x語法對比淺析

開發(fā) 前端
Vue3.0推出已有一段時間了,各位小伙伴們都有安排上學習沒,想要技術(shù)進階的同學趕緊學習起來吧。

Vue3.0推出已有一段時間了,各位小伙伴們都有安排上學習沒,想要技術(shù)進階的同學趕緊學習起來吧。

 

vue2.x與vue3.x語法對比淺析

如果你對vue3不是特別了解,或者打算去學習,可以看看下面的分享,希望對大家有所幫助!

創(chuàng)建項目

首先更新vue-cli到最新版本。

 

  1. npm install -g @vue/cli # OR yarn global add @vue/cli 
  2. vue create hello-vue3 
  3. select vue 3 preset 

項目變化

vue2.x和vue3.x目錄結(jié)構(gòu)沒有什么變化,只是一些使用方法變了,而且默認是安裝了TypeScript。

 

vue2.x與vue3.x語法對比淺析

main.js

vue2.x使用import Vue from 'vue',然后使用new Vue()創(chuàng)建實例。vue3.x則是import {createApp} from 'vue',通過createApp()來創(chuàng)建實例了。

這就導致了很多的插件或UI組件庫不能使用,比如ElementUI、iView...

 

vue2.x與vue3.x語法對比淺析

router.js創(chuàng)建路由

vue3.x需要引入createRouter創(chuàng)建地址路由。createWebHashHistory對應之前的hash,createWebHistory對應之前的history。

 

vue2.x與vue3.x語法對比淺析

vuex狀態(tài)管理

vue3.x中狀態(tài)管理的創(chuàng)建方式變?yōu)榱薱reateStore 。代碼結(jié)構(gòu)更精簡合理。

 

vue2.x與vue3.x語法對比淺析

Composition API

這個是vue3.x變化最大的地方,vue2.x數(shù)據(jù)存放在data,方法在methods,通過this去調(diào)用。但是在vue3.x這些都沒有了,所有的代碼全部都在 setup 里面實現(xiàn),你頁面需要哪些方法,就要在當前頁引入即可。

 

vue2.x與vue3.x語法對比淺析

生命周期

vue3.x的生命周期也發(fā)生了一些變化,大家可以看下面這張圖。

 

vue2.x與vue3.x語法對比淺析

在項目中具體的使用方法。

 

vue2.x與vue3.x語法對比淺析

使用介紹

setup

setup有兩個參數(shù) props 和 context

  • props:接受父組件傳的值
  • context:vue3.x里面沒有this,提供了一個context上下文屬性,你可以通過這個屬性去獲取進行 一些 vue2.x 用this實現(xiàn)的操作

 

vue2.x與vue3.x語法對比淺析

ref 聲明基礎數(shù)據(jù)類型

創(chuàng)建一個響應式的基礎類型,只能監(jiān)聽number、String、boolean等簡單的類型,該屬性一旦發(fā)生更改,都會被檢測到。

  1. <template> 
  2.    <div>{{count}}</div>             // 1 
  3. </template> 
  4. import {ref} from "vue" 
  5.  
  6. setup(){ 
  7.    const count =ref(0) 
  8.    count.value++    //必須要加.value 
  9.    return
  10.        count        //一定要return 出去 
  11.    } 

reactive 聲明響應式數(shù)據(jù)對象

  1. <template> 
  2.    <div>{{count.name}}</div>             // 857 
  3. </template> 
  4. import {reactive} from "vue" 
  5.  
  6. setup(){ 
  7.    const count =reactive({ 
  8.       name:'369' 
  9.    }) 
  10.    count.name='857' 
  11.    return
  12.       count  
  13.    } 
  • computed 計算屬性

computed 和vue2.x差不多,只是使用前要先引入。

 

vue2.x與vue3.x語法對比淺析
  • watchEffect 監(jiān)聽

通過ref或者reactive去創(chuàng)建多個響應式的值,當任何一個值發(fā)生改變的時候,立即觸發(fā)這個函數(shù)。

 

vue2.x與vue3.x語法對比淺析

watchEffect方法會返回一個stop handle停止監(jiān)聽。

 

vue2.x與vue3.x語法對比淺析
  • router 路由

vue3.x的router和route屬性也有了很大的變化,在vue2.x中使用this.$router路由跳轉(zhuǎn),this.$route獲取當前頁面路由信息。

 

  1. // 路由跳轉(zhuǎn) 
  2. import { useRouter} from "vue-router";  
  3. setup(){ 
  4.   const router=useRouter() 
  5.   router.push('/path'
  6.  
  7. // 獲取當前頁面路由信息 
  8. import { useRoute} from "vue-router";  
  9. setup(){ 
  10.   const route=useRoute() 
  11.   console.log(route) //這里的route相當于vue2.x中的this.$route 

好了,就先分析到這么多,后續(xù)也會陸續(xù)分享一些新變化。歡迎一起交流討論!

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2021-06-25 06:47:38

VueVue2.x迷你版響應式原理

2021-04-02 11:24:22

Vue2.x雙向綁定前端

2017-09-27 14:46:37

Vue2.xDOM diff原理

2022-02-15 07:09:00

Vue3開發(fā)項目

2021-04-22 07:49:51

Vue3Vue2.xVue3.x

2020-09-28 17:45:03

Vue.js 3.0前端代碼

2022-06-29 16:59:21

Vue3Vue2面試

2021-01-15 12:30:07

Vue技巧前端

2019-07-10 10:00:42

PHPPython語法

2023-12-27 07:46:29

Vue 2LTSFlow

2025-01-13 08:36:58

2022-06-21 12:09:18

Vue差異

2021-07-30 05:06:48

Vue 2Vue 3

2023-04-27 11:07:24

Setup語法糖Vue3

2025-02-26 08:16:38

2021-06-26 06:29:14

Vue 2Vue 3開發(fā)

2020-04-22 14:15:32

Vue 3.0語法前端

2021-07-29 12:05:18

Vue3Api前端

2021-05-06 07:40:56

Vue3 Vue2 組件

2023-11-28 09:03:59

Vue.jsJavaScript
點贊
收藏

51CTO技術(shù)棧公眾號