vue3中关于路由hash与History的设置

下面是关于Vue3中路由hash与History的设置的详细攻略:

1. 路由设置

在Vue3中使用路由需要先安装vue-router,使用以下命令进行安装:

npm install vue-router@4

1.1 history模式

如果使用history模式,则路由使用的是浏览器的history.pushStatehistory.replaceState方法,这样路由就是“干净”的URL,可以去除URL中的#符号,例如:

const router = createRouter({
  history: createWebHistory(),
  routes,
})

1.2 hash模式

如果使用hash模式,则路由使用的是浏览器的URL中的#符号,例如:

const router = createRouter({
  history: createWebHashHistory(),
  routes,
})

使用createWebHashHistory()方法来创建hash模式的路由。

2. 设置默认路由

设置默认路由可以让用户在没有输入路由路径时自动跳转到指定页面。

2.1 history模式下设置默认路由

在history模式下设置默认路由需要在路由最后添加一个{path: '*', redirect: '/'}的路由,例如:

const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home,
  },
  {
    path: '/about',
    name: 'About',
    component: About,
  },
  // 设置默认路由
  {
    path: '*',
    redirect: '/',
  },
]

2.2 hash模式下设置默认路由

在hash模式下设置默认路由需要在路由最后添加一个`{path: '/'},例如:

const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home,
  },
  {
    path: '/about',
    name: 'About',
    component: About,
  },
  // 设置默认路由
  {
    path: '/',
  },
]

这里需要注意的是,hash模式下的默认路由不能使用redirect属性,因为hash路由不存在重定向问题。

示例说明

下面给出两个具体的示例:

示例1:使用history模式设置默认路由

// 引入Vue Router
import { createRouter, createWebHistory } from 'vue-router'

// 引入组件
import Home from '@/views/Home.vue'
import About from '@/views/About.vue'

// 创建路由实例
const router = createRouter({
  history: createWebHistory(),
  routes: [
    {
      path: '/',
      name: 'Home',
      component: Home,
    },
    {
      path: '/about',
      name: 'About',
      component: About,
    },
    // 设置默认路由
    {
      path: '*',
      redirect: '/',
    },
  ],
})

// 导出路由
export default router

这个示例演示了如何使用history模式设置默认路由。

示例2:使用hash模式设置默认路由

// 引入Vue Router
import { createRouter, createWebHashHistory } from 'vue-router'

// 引入组件
import Home from '@/views/Home.vue'
import About from '@/views/About.vue'

// 创建路由实例
const router = createRouter({
  history: createWebHashHistory(),
  routes: [
    {
      path: '/',
      name: 'Home',
      component: Home,
    },
    {
      path: '/about',
      name: 'About',
      component: About,
    },
    // 设置默认路由
    {
      path: '/',
    },
  ],
})

// 导出路由
export default router

这个示例演示了如何使用hash模式设置默认路由。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue3中关于路由hash与History的设置 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • JavaScript实现可拖拽的进度条

    让我为您介绍如何使用JavaScript实现可拖拽的进度条。 步骤一:创建HTML结构 首先,在HTML中创建一个进度条的DOM元素,如下所示: <div class="progress-container"> <div class="progress-bar"></div> &lt…

    JavaScript 2023年6月11日
    00
  • 详解JS中的compose函数和pipe函数用法

    详解JS中的compose函数和pipe函数用法 简介 函数式编程是一种编程范式,它的特点是把函数当作基本的构建块和抽象单元,强调函数调用以表达程序的控制流和对数据的处理。在函数式编程中,函数可以像数据一样被传递和操作,灵活性很高。在JavaScript领域,函数式编程受到了越来越多的重视,并且实现了一个各种常见函数式编程工具函数库——Lodash.js。 …

    JavaScript 2023年5月27日
    00
  • JavaScript函数、闭包、原型、面向对象学习笔记

    JavaScript函数学习笔记 什么是函数 函数是 JavaScript 中的一个代码块,它可以重复执行,并且可通过传入参数和返回值来实现对信息的处理和存储。 函数的定义方式 JavaScript 中有多种定义函数的方式,以下是其中常用的三种方式: 1. 函数声明 使用 function 关键字定义的函数,代码如下: function functionNa…

    JavaScript 2023年5月27日
    00
  • JS获取单击按钮单元格所在行的信息

    获取单元格所在行的信息一般需要以下步骤: 对表格中的按钮进行事件绑定 在事件绑定的回调函数中获取按钮所在的单元格元素td 获取单元格所在的行元素tr 根据需要获取行元素tr中的其他信息 以下是两条示例: 示例一 HTML代码: <table> <thead> <tr> <th>ID</th> &lt…

    JavaScript 2023年6月11日
    00
  • Three.js 进阶之旅:全景漫游-高阶版在线看房 ?

    声明:本文涉及图文和模型素材仅用于个人学习、研究和欣赏,请勿二次修改、非法传播、转载、出版、商用、及进行其他获利行为。 摘要 专栏上篇文章《Three.js 进阶之旅:全景漫游-初阶移动相机版》中通过创建多个球体全景场景并移动相机和控制器的方式实现了多个场景之间的穿梭漫游。这种方式的缺点也是显而易见的,随着全景场景的增加来创建对应数量的球体,使得空间关系计算…

    JavaScript 2023年4月17日
    00
  • 精通JS正则表达式(推荐)

    精通JS正则表达式(推荐)攻略 什么是正则表达式? 正则表达式是一种用于匹配字符串模式的工具,它可以帮助我们对字符串进行复杂的匹配和替换操作。JavaScript中的正则表达式是由一个模式和一些可选的标志组成的。 正则表达式的语法 在 JavaScript 中,正则表达式是包含在斜杠之间的模式,如下所示: var pattern = /test/; // 匹…

    JavaScript 2023年6月10日
    00
  • JS中对Cookie的操作详解

    JS中对Cookie的操作详解 什么是Cookie? 在Web开发中,Cookie(也叫作HTTP Cookie)是存储于用户计算机上的一个小文本文件。它的目的是为了记录用户的一些信息,例如登录状态、购物车信息等。当用户再次访问同一网站时,服务器能够读取这些Cookie,并且根据其中记录的信息为用户提供更好的体验。 如何创建一个Cookie? 为了创建一个C…

    JavaScript 2023年6月11日
    00
  • jQuery中json对象的复制方式介绍(数组及对象)

    当我们在编写jQuery程序时,常常需要对JSON对象进行复制的操作,这个过程有时会比较麻烦,因为JSON对象类别繁多,每种类型都需要采用不同的复制方式。 接下来,我将介绍在jQuery中对各种JSON对象进行复制的方式,包括数组和对象。 数组复制 在jQuery中,数组复制有两种方式:浅复制和深复制。 浅复制 浅复制就是将一个数组中的所有元素全部复制到另一…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部