Blog
首页
文档
收藏
关于
  • 在线转换时间戳 (opens new window)
  • 在线压缩图片 (opens new window)
  • Float-Double转二进制 (opens new window)
  • 文件转Hex字符串 (opens new window)

HiuZing

🍑
首页
文档
收藏
关于
  • 在线转换时间戳 (opens new window)
  • 在线压缩图片 (opens new window)
  • Float-Double转二进制 (opens new window)
  • 文件转Hex字符串 (opens new window)
  • 前端面试题

  • JavaScript

  • Vue2

  • port

  • CSS

  • Node.js

  • JavaScript优化

  • uniapp

  • Mini Program

  • TypeScript

  • 面向对象编程

  • UI组件

  • Plugin

  • Vue3

    • 教程

    • Vue Router

      • API

      • 基础

        • 入门
        • 路由模式
        • 命名路由
          • 编程式导航
        • 历史记录
        • 路由传参
        • 嵌套路由
        • 命名视图
        • 重定向和别名
      • 进阶

      • 实例

    • API

    • Vuex

    • 实例处理方案

    • 文档

    • 用法

  • 性能优化

  • Axios

  • 状态管理

  • React

  • Mock

  • Icon

  • Template

  • 构建工具

  • 项目规范配置

  • Taro

  • SVG

  • React Native

  • 前端
  • Vue3
  • Vue Router
  • 基础
HiuZing
2023-03-27
目录

命名路由

​ 命名路由 | Vue Router (vuejs.org) (opens new window)

除了 path 之外,你还可以为任何路由提供 name。这有以下优点:

  • 没有硬编码的 URL
  • params 的自动编码/解码。
  • 防止你在url中出现打字错误。

在route/index.ts

const routes:Array<RouteRecordRaw> = [
    {
        path:"/",
        name:"Login",
        component:()=> import('../components/login.vue')
    },
    {
        path:"/reg",
        name:"Reg",
        component:()=> import('../components/reg.vue')
    }
]
1
2
3
4
5
6
7
8
9
10
11
12

router-link (opens new window)跳转方式变为对象并且有对应name

<div>
    <router-link :to="{name:'Login'}">Login</router-link>
	<router-link style="margin-left:10px" :to="{name:'Reg'}">Reg</router-link>
</div>
1
2
3
4

# 编程式导航

还可以借助 router 的实例方法,通过编写代码来实现。

  1. 字符串模式

    import { useRouter } from 'vue-router'
    const router = useRouter()
    
    const toPage = () => {
      router.push('/reg')
    }
    
    1
    2
    3
    4
    5
    6
  2. 对象模式

    import { useRouter } from 'vue-router'
    const router = useRouter()
    
    const toPage = () => {
      router.push({
        path: '/reg'
      })
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
  3. 命名式路由模式

    import { useRouter } from 'vue-router'
    const router = useRouter()
    
    const toPage = () => {
      router.push({
        name: 'Reg'
      })
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
  4. a标签跳转

    直接通过a标签,href也可以跳转但是会有默认行为(刷新页面)

上次更新: 2024/08/14, 04:14:33
路由模式
历史记录

← 路由模式 历史记录→

最近更新
01
React Native 使用SVG
08-13
02
Docker基础命令
08-04
03
算数逻辑单元
07-30
更多文章>
Theme by Vdoing | Copyright © 2021-2024 WeiXiaojing | 友情链接
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式