最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue3升級常見問題詳細匯總

 更新時間:2023年03月07日 09:42:49   作者:野生切圖仔  
隨著vue3?的發(fā)布和越來越多項目的使用,之前使用?vue2?的項目也不能拉下,vue2?升級?vue3?迫在眉睫,下面這篇文章主要給大家介紹了關(guān)于vue3升級常見問題的相關(guān)資料,需要的朋友可以參考下

Ⅰ、前言

雖然 vue3 是沒有刪除 vue2 的 選項式 API , 但是我們升級vue3 還是需要修改很多問題的

下面來看看我們升級常見的一些問題 ??

Ⅱ、解決兼容問題

1、路由的創(chuàng)建方式

vue2 寫法

const router = new VueRouter({
  	routes: []
});
export default router;

②改為 vue3 寫法

import { createRouter, createWebHistory } from 'vue-router'
const routerHistory = createWebHistory()
const router = createRouter({
    history: routerHistory,
    routes: []
})
export default router

2、路由的方法變化

this.$router.push({path: '/bbb', query: {username: "abc"}});

修改為

import { useRouter }  from  'vue-router'
const  router = useRouter()
router.push({ path:'/bbb', params:{ username: 'posva'} });

3、升級 vuex 到 4.x

vue2vue3
vue2要用vuex 3.x 版本vue3要用vuex 4.x 版本

4、作用域  插槽語法修改

2.6 以下

<template  slot-scope="row">
	<span>{{row.name}}</span>
</template>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<template  slot="header">
	<span>666</span>
</template>

2.6 以上及 3.x 則需要改為 ??

<template v-slot:default="row">
	<span>{{row.name}}</span>
</template>
或 
<template #default="row">
	<span>{{row.name}}</span>
</template>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<template v-slot:header>
	<span>666</span>
</template>

5、具名插槽不能重復(fù)

錯誤寫法 ??

<Comp>
	<span>999</span>
	<template #default>
		<span>666</span>
	</template>
	<template #default>
		<span>777</span>
	</template>
</Comp>

正確寫法 ??

<Comp>
	<template #default>
		<span>999</span>
		<span>666</span>
		<span>777</span>
	</template>
</Comp>

6、根掛載的變化

import Vue from 'vue'
import App from './App.vue'

import router from './router' //路由
import store from './store'  //vuex

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')

修改為 ??

import { createApp } from 'vue'
import App from './App.vue'

import router from './router' //路由
import store from './store'  //vuex

createApp(App)
.use(store)
.use(router)
.mount('#app')

7、模板 v-for ,必須在模板上掛載 key

錯誤寫法 ??

<template v-for="item in list">
	<div :key='item.key'>{{item.name}}</div>
</template>

正確寫法 ??

<template v-for="item in list" :key='item.key'>
	<div>{{item.name}}</div>
</template>

8、遞歸組件 寫法變化

如一個簡化的tree例子

<template>
	<Tree :list ="list">
</template>
<script >
import Tree from './Tree.vue'
export default {
data() {
    return {
	 list:[
	 		{name:'aaa' , children:[{ name:'ccc' }] } , 
	 		{name:'bbb'}
	 ]
   }
}
</script>

vue2 需要導(dǎo)入本身

<template>
    <div v-for='item in list' :key='item.name'>
    	<span>{{item.name}}</span>	
		<Tree :list ="list.children" v-if='list.children'>
    </div>
</template>
<script>
import Tree from './Tree.vue'
export default {
  components: { Tree },
  }
};
</script>

vue3根據(jù)組件名

<template>
    <div v-for='item in list' :key='item.name'>
    	<span>{{item.name}}</span>	
		<Tree :list ="list.children" v-if='list.children'>
    </div>
</template>
<script>
export default {
  name:'Tree'
}
</script>

9、深層樣式寫法變化

如 :

::v-deep .input__text{<!--{C}%3C!%2D%2D%20%2D%2D%3E--> }

修改為:

:deep(.input__text){<!--{C}%3C!%2D%2D%20%2D%2D%3E--> }

可以利用 全局匹配修改

選擇正則匹配

::v-deep\s(.*)\s

:deep($1) 

10、生命周期鉤子函數(shù) 命名修改

beforeDestroy() =>    beforeUnmount()
destroyed()     =>    unmounted()

刪除 created() 生命周期

11、數(shù)據(jù)總線 eventBus 變化

vue3 中已經(jīng)移除了 eventBus 的一些方法 , 但是通過一點點代碼就能自己實現(xiàn)一個

查看詳情 => vue3 eventBus

12、異步組件

components:{
    asyncCom1 :() => import('../components/test-com')
}

vue3 則要 修改為 ??

import { defineAsyncComponent } from 'vue'
const asyncCom2  = defineAsyncComponent(() => import('組件路徑'))

13、ui 組件庫

ui 組件庫的 ,則需要參照 ui 組件庫的文檔進行修改

總結(jié)

到此這篇關(guān)于vue3升級常見問題的文章就介紹到這了,更多相關(guān)vue3升級問題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue+elementUI下拉框自定義顏色選擇器方式

    Vue+elementUI下拉框自定義顏色選擇器方式

    這篇文章主要介紹了Vue+elementUI下拉框自定義顏色選擇器方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • vue+element-ui表格封裝tag標簽使用插槽

    vue+element-ui表格封裝tag標簽使用插槽

    這篇文章主要介紹了vue+element-ui表格封裝tag標簽使用插槽,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • vue-cli3跨域配置的簡單方法

    vue-cli3跨域配置的簡單方法

    這篇文章主要給大家介紹了關(guān)于vue-cli3跨域配置的簡單方法,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用vue-cli3具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • VUE 實現(xiàn)element upload上傳圖片到阿里云

    VUE 實現(xiàn)element upload上傳圖片到阿里云

    這篇文章主要介紹了VUE 實現(xiàn)element upload上傳圖片到阿里云,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • vue實現(xiàn)表格合并功能

    vue實現(xiàn)表格合并功能

    這篇文章主要為大家詳細介紹了vue實現(xiàn)表格合并功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • Vue登錄后添加動態(tài)路由并跳轉(zhuǎn)的實踐分享

    Vue登錄后添加動態(tài)路由并跳轉(zhuǎn)的實踐分享

    這篇文章講給大家詳細介紹一下Vue如何實現(xiàn)登錄后添加動態(tài)路由并跳轉(zhuǎn),文章通過代碼示例介紹的非常詳細,對我們的學(xué)習(xí)或工作有一定的的幫助,需要的朋友可以參考下
    2023-07-07
  • vuex命名空間的使用

    vuex命名空間的使用

    本文主要介紹了vuex命名空間的使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Vue 中如何正確引入第三方模塊的方法步驟

    Vue 中如何正確引入第三方模塊的方法步驟

    這篇文章主要介紹了Vue 中如何正確引入第三方模塊的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • vue3.0中使用element的完整步驟

    vue3.0中使用element的完整步驟

    這篇文章主要給大家介紹了關(guān)于vue3.0中使用element的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Vue3集成Element-plus快速搭建頁面框架的過程

    Vue3集成Element-plus快速搭建頁面框架的過程

    ElementPlus是一款基于Vue3的UI組件庫,提供了豐富的組件和響應(yīng)式設(shè)計,易于使用和主題定制,在Vue3項目中集成ElementPlus,需要通過npm安裝并引入組件,主題色可以通過修改樣式文件進行全局設(shè)置,本文介紹Vue3集成Element-plus快速搭建頁面框架,感興趣的朋友一起看看吧
    2025-03-03

最新評論

万盛区| 古浪县| 赤壁市| 呼图壁县| 忻城县| 兴业县| 鄢陵县| 茂名市| 靖安县| 鄂州市| 双城市| 玉屏| 通海县| 汶川县| 南陵县| 新巴尔虎左旗| 巴林右旗| 托里县| 都昌县| 河曲县| 永川市| 南宫市| 沁阳市| 彭水| 恩施市| 民丰县| 漠河县| 兴仁县| 克什克腾旗| 安顺市| 临西县| 上犹县| 大竹县| 伊金霍洛旗| 通许县| 楚雄市| 呼玛县| 商丘市| 井研县| 马龙县| 伊宁市|