个人博客 个人博客
首页
  • 前端
  • 后端
  • Git
  • Docker
  • 网络
  • 操作系统
工具
阅读
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

董先亮

前端react开发
首页
  • 前端
  • 后端
  • Git
  • Docker
  • 网络
  • 操作系统
工具
阅读
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Vue

    • 响应式API
    • vite环境变量
    • 侦听
    • 样式
    • 多环境配置
    • 实现页面缓存
    • 组件封装
    • nextTick
    • 组件传值
    • 批量导入
    • 插槽
    • scoped与deep原理
    • v-model
    • vue-router
      • router-link
      • router-view
      • history
      • router 实例
      • 路由守卫
    • 项目全局
    • 自定义hook
  • React

  • 前端框架
  • Vue
NeverStop1024
2023-07-07
目录

vue-router

# router-link (opens new window)

router-link与a标签的区别,router-link可以在不重载页面情况下更改url,a标签会刷新页面

<router-link to="/about">Go to About</router-link>
1

# router-view

router-view 将显示与 url 对应的组件

  <!-- 路由匹配到的组件将渲染在这里 -->
  <router-view></router-view>
1
2

# history (opens new window)

路由器使用的历史记录模式,有createWebHistory、createWebHashHistory两种模式可选。

  • createWebHistory
      它使用了 HTML5 中的 history.pushState 和 history.replaceState 方法来实现路由跳转。 如:/home、/about,但是这种模式要求你的服务端配置支持 index.html 的单页应用,否则在页面刷新的时候会出现 404 错误。
  • createWebHashHistory
      它将路由添加到 URL 中的 hash 中,例如:/#/home、/#/about。这种模式无需后端配置即可正常使用, 但是不利于做seo优化
import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'
import Home from '../views/Home.vue'
import Container from '../components/container/src/index.vue'

const routes: RouteRecordRaw[] = [
  {
    path: '/',
    component: Container,
    children: [
      {
        path: '/',
        component: Home
      },
      {
        path: '/chooseIcon',
        component: () => import('../views/chooseIcon/index.vue')
      }
    ]
  }
]

const router = createRouter({
  routes,
  history: createWebHistory()
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

# router 实例

app.use(router) 后

1.获取创建的路由实例

  • vue2 this.$router
  • vue3 useRouter

2.获取当前访问路由对象

  • vue2 this.$route
  • vue3 useRoute

# 路由守卫 (opens new window)

路由守卫分为全局守卫、路由独享守卫、组件内守卫。
router.beforeEach 可以在路由跳转前做一些操作(判断登录状态、权限)

router.afterEach 是路由跳转结束后的回调,常用来结束一些副作用状态

编辑 (opens new window)
上次更新: 2023/07/09
v-model
项目全局

← v-model 项目全局→

最近更新
01
mock使用
07-12
02
websocket即时通讯
07-12
03
前端面试题
07-09
更多文章>
Theme by Vdoing | Copyright © 2022-2023 NeverStop1024 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式