赞
踩
Vue Router: Vue.js 的官方路由。它与 Vue.js 核心深度集成,让用 Vue.js 构建单页应用变得轻而易举。
目录
1、官方文档:https://router.vuejs.org/zh/introduction.html
1、使用 router-link 组件进行导航 + 通过传递 `to` 来指定链接
介绍 | Vue RouterVue.js 的官方路由https://router.vuejs.org/zh/introduction.html
npm install vue-router@4
"vue-router": "^4.2.5",
- src
- │ App.vue
- │ main.ts
- │
- ├─router
- │ index.ts
- │
- └─view
- HomeView.vue
- AboutView.vue
- TestView.vue
- <template>
- <div>
- <div>这是home页面</div>
- <div>
- <button @click="toAboutPage">跳转至about</button>
- </div>
- <div>
- <button @click="toTestPage">跳转至test</button>
- </div>
- </div>
- </template>
-
- <script setup lang="ts">
- import { useRouter, useRoute } from 'vue-router'
-
- const router = useRouter()
- const route = useRoute()
-
- function toAboutPage() {
- router.push({
- path: '/about',
- query: {
- title: '666'
- }
- })
- }
-
- function toTestPage() {
- router.push({
- path: '/test/' + 888,
- })
- }
-
- </script>
-
-

- <template>
- <div>
- <div>这是about页面</div>
- <div>
- <button @click="toHomePage">跳转至home</button>
- </div>
- <div>
- <button @click="toTestPage">跳转至test</button>
- </div>
- </div>
- </template>
-
- <script lang="ts" setup>
- import { useRoute, useRouter } from 'vue-router';
-
- const router = useRouter()
- const route = useRoute()
-
- function toHomePage() {
- router.push({
- name: 'home',
- params: {
- title: 'about'
- }
- })
- }
-
-
- function toTestPage() {
- router.push({
- name: 'test',
- params: {
- title: 111
- },
- })
- }
-
- console.log(route);
-
- </script>

- <template>
- <div>
- <div>这是test页面</div>
- <button @click="toHomePage">跳转至home</button>
- </div>
- </template>
-
- <script setup lang="ts">
- import { useRouter, useRoute } from 'vue-router'
- const router = useRouter()
- const route = useRoute()
-
-
- function toHomePage() {
- router.push('/')
- }
-
- console.log(route);
-
- </script>

- import { createApp } from 'vue'
- import { createPinia } from 'pinia'
-
- import App from './App.vue'
- import router from './router'
-
- const app = createApp(App)
-
- app.use(createPinia())
- app.use(router)
-
- app.mount('#app')
- import { createRouter, createWebHistory } from 'vue-router'
- import HomeView from '../views/HomeView.vue'
-
- const router = createRouter({
- history: createWebHistory(import.meta.env.BASE_URL),
- routes: [
- {
- path: '/',
- name: 'home',
- component: HomeView
- },
- {
- path: '/about',
- name: 'about',
- component: () => import('../views/AboutView.vue')
- },
- {
- path: '/test',
- name: 'test',
- component: () => import('../views/TestView.vue')
- },
- ]
- })
-
- export default router

- <template>
- <nav>
- <RouterLink to="/">Home</RouterLink>
- <RouterLink to="/about">About</RouterLink>
- </nav>
-
- <RouterView />
- </template>
-
- <script setup lang="ts">
- import { RouterLink, RouterView } from 'vue-router'
- </script>
- <RouterLink to="/">Home</RouterLink>
- <RouterLink to="/about">About</RouterLink>
- router.push('/') // 根页面,这里的“/”等同于home页面
-
- router.push({
- path: '/about',
- })
注:必须配置下列代码
- import { useRouter, useRoute } from 'vue-router'
- const router = useRouter()
- const route = useRoute()
- router.push({
- path: '/about',
- query: {
- title: '666'
- }
- })
-
- router.push({
- name: 'home',
- params: {
- title: 'about'
- }
- })
路由配参
- {
- path: '/test/:title',
- name: 'test',
- component: () => import('../views/TestView.vue')
- },
动态传参
-
- router.push({
- path: '/test/' + 888,
- })
接收参数
-
- console.log(route);
打印结果
注:路由之间跳转用router,获取当前页面的路由信息用route
1)普通路由传参 - 有问号
2)动态路由传参 - 直接跟在地址后面
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。