vue3配置router路由並實現頁面跳轉功能
1、安裝vue-router
用vue3需要安裝版本4.0以上的vue-router,安裝命令:
npm install vue-router@next --save
vue2盡量安裝4.0以下版本,安裝命令:
npm i [email protected]
在package.json中可以查看vue-router版本號:
2、根目錄下新建router文件夾,下面新建index.js文件和routes.js
2.1文件中引入vue方法、配置頁面具體路徑
vue2和vue3代碼區別如下:
【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, // }) // 第二種跳轉方法 // 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 router
routes.js
const a = () => import('../view/A.vue') const b = () => import('../view/B.vue') const routes = [ //實現路由重定向,當進入網頁時,路由自動跳轉到/a路由 //{ // path:'/', // redirect:'/a' // }, { path: '/', component:a, }, { name: 'a', path: '/a', component:a }, { name: 'b', path: '/b', component: b }, ]; export default routes
APP.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>
補充:
編程式導航
通過調用 API 實現導航的方式,叫做編程式導航。
與之對應的,通過點擊鏈接實現導航的方式,叫做聲明式導航。例如:
1. 普通網頁中點擊 鏈接、vue 項目中點擊 都屬於聲明式導航
2. 普通網頁中調用 location.href 跳轉到新頁面的方式,屬於編程式導航
vue-router 中的編程式導航 API
vue-router 提供瞭許多編程式導航的 API,其中最常用的兩個 API 分別是:
this.$router.push('hash 地址') 跳轉到指定 Hash 地址,從而展示對應的組件 this.$router.go(數值 n) 實現導航歷史的前進、後退
history.go(-2);//後退兩次 history.go(2);//前進兩次 history.back(); //後退 hsitory.forward(); //前進
但是history也是有缺點的,不怕前進後退跳轉,就怕刷新(如果後端沒有準備的話),因為刷新是實實在在地去請求服務器瞭。
到此這篇關於vue3配置router路由並實現頁面跳轉的文章就介紹到這瞭,更多相關vue3頁面跳轉內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- vue-route路由管理的安裝與配置方法
- vue3使用vue-router的完整步驟記錄
- Vue3使用路由VueRouter4的簡單示例
- Vue-router路由該如何使用
- Vue-router編程式導航的兩種實現代碼