vue3配置router路由并實現(xiàn)頁面跳轉(zhuǎn)功能
1、安裝vue-router
用vue3需要安裝版本4.0以上的vue-router,安裝命令:
npm install vue-router@next --save
vue2盡量安裝4.0以下版本,安裝命令:
npm i vue-router@3.1.3
在package.json中可以查看vue-router版本號:

2、根目錄下新建router文件夾,下面新建index.js文件和routes.js

2.1文件中引入vue方法、配置頁面具體路徑
vue2和vue3代碼區(qū)別如下:
【vue3】


ps:引入文件時記得新建view文件夾以及里面的A、B.vue兩個頁面
【vue2】

3、main.js文件中引入路由

4、APP.vue里聲明路由的占位符<router-view></router-view>

5、測試

6、文件代碼
HelloWorld.vue
<template>
<!-- <h1>{{ msg }}</h1> -->
<div class="card">
<router-link to="/A">A</router-link>
<router-link to="/B">B</router-link>
<!-- 第二種方法 router.push-->
<!-- <button @click="show('a')">A頁面</button>
<button @click="show('b')">B頁面</button> -->
</div>
</template>
<script setup>
import {useRouter,useRoute} from 'vue-router'
//const router = useRouter()
//const route = useRoute()
// defineProps({
// msg: String,
// })
// 第二種跳轉(zhuǎn)方法
// const show=(index)=> {
// if(index == 'a') {
// router.push('/a')
// }
// if(index == 'b') {
// router.push('/b')
// }
// }
</script>
<style scoped></style>
index.js
import {createRouter, createWebHashHistory,createWebHistory} from 'vue-router'
import routes from './routes'
const router = createRouter({
routes,
history: createWebHashHistory()
})
export default routerroutes.js
const a = () => import('../view/A.vue')
const b = () => import('../view/B.vue')
const routes = [
//實現(xiàn)路由重定向,當(dāng)進(jìn)入網(wǎng)頁時,路由自動跳轉(zhuǎn)到/a路由
//{
// path:'/',
// redirect:'/a'
// },
{
path: '/',
component:a,
},
{
name: 'a',
path: '/a',
component:a
},
{
name: 'b',
path: '/b',
component: b
},
];
export default routesAPP.vue
<script setup>
import HelloWorld from './components/HelloWorld.vue'
</script>
<template>
<div>
<h1>App 組件</h1>
<HelloWorld msg="hello" />
<!-- 聲明路由的占位符 -->
<router-view></router-view>
</div>
</template>
<style scoped>
</style>補(bǔ)充:
編程式導(dǎo)航
通過調(diào)用 API 實現(xiàn)導(dǎo)航的方式,叫做編程式導(dǎo)航。
與之對應(yīng)的,通過點擊鏈接實現(xiàn)導(dǎo)航的方式,叫做聲明式導(dǎo)航。例如:
1. 普通網(wǎng)頁中點擊 鏈接、vue 項目中點擊 都屬于聲明式導(dǎo)航
2. 普通網(wǎng)頁中調(diào)用 location.href 跳轉(zhuǎn)到新頁面的方式,屬于編程式導(dǎo)航
vue-router 中的編程式導(dǎo)航 API
vue-router 提供了許多編程式導(dǎo)航的 API,其中最常用的兩個 API 分別是:
this.$router.push('hash 地址') 跳轉(zhuǎn)到指定 Hash 地址,從而展示對應(yīng)的組件
this.$router.go(數(shù)值 n) 實現(xiàn)導(dǎo)航歷史的前進(jìn)、后退history.go(-2);//后退兩次 history.go(2);//前進(jìn)兩次 history.back(); //后退 hsitory.forward(); //前進(jìn)
但是history也是有缺點的,不怕前進(jìn)后退跳轉(zhuǎn),就怕刷新(如果后端沒有準(zhǔn)備的話),因為刷新是實實在在地去請求服務(wù)器了。
到此這篇關(guān)于vue3配置router路由并實現(xiàn)頁面跳轉(zhuǎn)的文章就介紹到這了,更多相關(guān)vue3頁面跳轉(zhuǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
動態(tài)實現(xiàn)element ui的el-table某列數(shù)據(jù)不同樣式的示例
這篇文章主要介紹了動態(tài)實現(xiàn)element ui的el-table某列數(shù)據(jù)不同樣式的示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
在小程序/mpvue中使用flyio發(fā)起網(wǎng)絡(luò)請求的方法
這篇文章主要介紹了在小程序/mpvue中使用flyio發(fā)起網(wǎng)絡(luò)請求的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09
vue watch監(jiān)聽對象及對應(yīng)值的變化詳解
下面小編就為大家分享一篇vue watch監(jiān)聽對象及對應(yīng)值的變化詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02
Vue中 v-if/v-show/插值表達(dá)式導(dǎo)致閃現(xiàn)的原因及解決辦法
在開發(fā)過程中經(jīng)常會發(fā)現(xiàn)當(dāng)頁面明明不應(yīng)該出現(xiàn)的元素或內(nèi)容會閃現(xiàn)一下然后消失,這篇文章給大家分享Vue中 v-if/v-show/插值表達(dá)式導(dǎo)致閃現(xiàn)的原因及解決辦法,一起看看吧2018-10-10
vue?element?ui表格相同數(shù)據(jù)合并單元格效果實例
工作中遇到需要根據(jù)單元格某個屬性合并,特此記錄下,下面這篇文章主要給大家介紹了關(guān)于vue?element?ui表格相同數(shù)據(jù)合并單元格效果的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11
el-select二次封裝實現(xiàn)可分頁加載數(shù)據(jù)的示例代碼
使用el-select時一次性渲染幾百條數(shù)據(jù)時會造成頁面克頓, 可以通過分頁來實現(xiàn),所以本文給大家介紹了el-select二次封裝實現(xiàn)可分頁加載數(shù)據(jù),文中有詳細(xì)的代碼講解,具有一定的參考價值,需要的朋友可以參考下2023-12-12
vue項目中使用crypto-js實現(xiàn)加密解密方式
這篇文章主要介紹了vue項目中使用crypto-js實現(xiàn)加密解密方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05

