iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >vue3路由hash与History怎么设置
  • 366
分享到

vue3路由hash与History怎么设置

2023-07-06 05:07:08 366人浏览 独家记忆
摘要

本篇内容介绍了“vue3路由hash与History怎么设置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Vue3路由hash与Histor

本篇内容介绍了“vue3路由hash与History怎么设置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    Vue3路由hash与History的设置

    1、history 关键字:createWEBHistory

    import { createRouter, createWebHistory } from 'vue-router'const routes = [ {  path: '/userinfo',  name: 'UserInfo',  component: () => import('../views/UserInfo.vue')}]const router = createRouter({  history: createWebHistory(process.env.BASE_URL),  routes})export default router

    history模式直接指向history对象,它表示当前窗口的浏览历史,history对象保存了当前窗口访问过的所有页面网址。URL中没有#,它使用的是传统的路由分发模式,即用户在输入一个URL时,服务器会接收这个请求,并解析这个URL,然后做出相应的逻辑处理。

    特点:

    当使用history模式时,URL就像这样:hhh.com/user/id。相比hash模式更加好看。

    虽然history模式不需要#。但是,它也有自己的缺点,就是在刷新页面的时候,如果没有相应的路由或资源,就会刷出404来。

    history api可以分为两大部分,切换历史状态 和 修改历史状态:

    修改历史状态:

    包括了 HTML5 History Interface 中新增的 pushState() 和 replaceState() 方法,这两个方法应用于浏览器的历史记录栈,提供了对历史记录进行修改的功能。只是当他们进行修改时,虽然修改了url,但浏览器不会立即向后端发送请求。如果要做到改变url但又不刷新页面的效果,就需要前端用上这两个API。

    切换历史状态:

    包括forward()、back()、Go()三个方法,对应浏览器的前进,后退,跳转操作。

    配置:

    想要设置成history模式,就要进行以下的配置(后端也要进行配置):

    const router = new VueRouter({  mode: 'history',  routes: [...]})

    2、hash 关键字:createWebHashHistory

    import { createRouter, createWebHashHistory } from 'vue-router'const routes = [{  path: '/userinfo',  name: 'UserInfo',  component: () => import('../views/UserInfo.vue')}]const router = createRouter({  history: createWebHashHistory(),  routes})export default router

    hash模式是开发中默认的模式,也称作锚点,它的URL带着一个#,例如:www.abc.com/#/vue,它的hash值就是#/vue。

    特点:

    hash值会出现在URL里面,但是不会出现在Http请求中,对后端没有影响。所以改变hash值不会重新加载页面。

    这种模式的浏览器支持度很好,低版本的IE浏览器也支持这种模式。

    hash路由被称为是前端路由,已经成为SPA(单页面应用)的标配。

    原理:

    hash模式的主要原理就是onhashchange()事件:

    window.onhashchange = function(event){    console.log(event.oldURL, event.newURL);    let hash = location.hash.slice(1);}

    使用onhashchange()事件的好处就是,在页面的hash值发生变化时,无需向后端发起请求,window就可以监听事件的改变,并按规则加载相应的代码。

    除此之外,hash值变化对应的URL都会被浏览器记录下来,这样浏览器就能实现页面的前进和后退。虽然是没有请求后端服务器,但是页面的hash值和对应的URL关联起来了。

    获取页面hash变化的方法:

    // 监听,当路由发生变化的时候执行watch: {  $route: {    handler: function(val, oldVal){      console.log(val);    },    // 深度观察监听    deep: true  }},

    vue2和vue3中路由的区别和写法

    Vue 2 和 Vue 3 中路由的主要区别在于使用的路由库不同。在 Vue 2 中,通常使用 Vue Router 作为路由库;而在 Vue 3 中,Vue Router 仍然是官方推荐的路由库,但也可以选择使用新的路由库 - Vue Router Next。

    下面分别介绍在 Vue 2 和 Vue 3 中使用 Vue Router 的路由写法:

    vue3中使用 Vue Router

    安装 Vue Router:在终端中执行以下命令进行安装:

    npm install vue-router

    引入 Vue Router 并配置路由:在 main.js 中引入 Vue Router,并配置路由规则和组件对应关系。

    示例代码如下:

    import Vue from 'vue'import VueRouter from 'vue-router'import Home from './components/Home.vue'import About from './components/About.vue' Vue.use(VueRouter) const routes = [  { path: '/', component: Home },  { path: '/about', component: About }] const router = newVueRouter({  routes // 等价于 routes: routes}) newVue({  el: '#app',  router,  render: h =>h(App)})

    在模板中使用路由:在模板中使用 router-link 组件来实现路由跳转,router-view 组件用于显示对应的组件内容。

    示例代码如下:

    <template>    <div id="app">        <nav>            <router-link to="/">Home</router-link>            <router-link to="/about">About</router-link>        </nav>        <router-view></router-view>    </div></template>

    vue3中使用 Vue Router Next

    安装 Vue Router Next:在终端中执行以下命令进行安装:

    npm install vue-router@4

    引入 Vue Router Next 并配置路由:在 main.js 中引入 Vue Router Next,并配置路由规则和组件对应关系。

    示例代码如下:

    import { createApp } from 'vue'import { createRouter, createWebHistory } from 'vue-router'import Home from './components/Home.vue'import About from './components/About.vue'import App from './App.vue'const routes = [  { path: '/', component: Home },  { path: '/about', component: About }] const router = createRouter({  history: createWebHistory(),  routes}) const app = createApp(App)app.use(router)app.mount('#app')

    在模板中使用路由:在模板中使用 router-link 组件来实现路由跳转,router-view 组件用于显示对应的组件内容。示例代码如下:

    <template>    <div id="app">        <nav>            <router-link to="/">Home</router-link>            <router-link to="/about">About</router-link>        </nav>        <router-view></router-view>    </div></template>

    “vue3路由hash与History怎么设置”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

    --结束END--

    本文标题: vue3路由hash与History怎么设置

    本文链接: https://www.lsjlt.com/news/357823.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • vue3路由hash与History怎么设置
      本篇内容介绍了“vue3路由hash与History怎么设置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!vue3路由hash与Histor...
      99+
      2023-07-06
    • vue3中关于路由hash与History的设置
      目录关于路由hash与History的设置1、history 关键字:createWebHistory2、hash 关键字:createWebHashHistory路由中h...
      99+
      2022-11-13
      vue3中路由 vue3路由hash vue3路由History
    • Vue前端路由中hash与history的区别是什么
      今天小编给大家分享一下Vue前端路由中hash与history的区别是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。没了...
      99+
      2023-06-30
    • Vue前端路由hash与history差异深入了解
      目录前言简单介绍 Vue RouterVue Router 实现原理Hash简述特点设置history简述设置特点生产环境问题及解决开发环境- historyApiFallback总...
      99+
      2024-04-02
    • Vue中Router路由两种模式hash与history详解
      hash 模式 (默认) 工作原理: 监听网页的hash值变化 —> onhashchange事件, 获取location.hash 使用 URL 的 hash 来模拟一个完整...
      99+
      2024-04-02
    • Vue Router路由hash模式与history模式详细介绍
      目录一、前言二、hash模式三、history模式一、前言 对于hash模式和history模式,最直接的区别就是地址栏带不带"#"号了。 vue脚手架搭建的项目...
      99+
      2024-04-02
    • Vue 前端路由工作原理hash与history的区别
      目录什么是路由?vue-router的工作原理1.mode:'hash',在URL中会多'#'2.mode:'history'什么是路...
      99+
      2024-04-02
    • vite vue3下配置history模式路由的步骤记录
      目录dev 模式pro模式nginx 配置后端配置补充几个文件总结dev 模式 利用vite 配置代理,可以解决前端浏览器限制跨域问题(当然后端要自己配置好) export defa...
      99+
      2023-01-28
      vite配置history模式路由 history模式路由
    • linux怎么设置默认路由
      要设置默认路由,可以使用以下命令: 使用命令`route -n`查看当前的路由表,找到默认网关的IP地址。 使用命令`ip ...
      99+
      2023-10-27
      linux
    • vue3怎么动态添加路由
      一、初始化项目初始化vite + vue + ts项目,引入vue-router。目录结构如下,注意这个404重定向,vue3不支持直接使用“*”匹配所有路由了,要使用:catchAll(.*)。初始化路由:import {createRo...
      99+
      2023-05-18
      Vue3
    • vue中怎么设置二级路由
      本篇文章为大家展示了vue中怎么设置二级路由,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。首先把一级路由的结构准备好: <router-link&n...
      99+
      2024-04-02
    • tplink路由器怎么设置网址
      这篇文章主要介绍“tplink路由器怎么设置网址”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“tplink路由器怎么设置网址”文章能帮助大家解决问题。tplink路由器设置网址的方法:电脑: 首先打...
      99+
      2023-07-02
    • tp6多应用路由设置与访问
      多应用安装 composer require topthink/think-multi-app 安装完我们在app目录下创建几个应用目录,分别为admin,api,mobile 创建多应用目录之后我...
      99+
      2023-09-10
      php ThinkPHP tp6
    • 云服务器路由器怎么设置
      云服务器路由器是指一种网络连接设备,用于将多个云服务器连接到一个公共的网络上。这些云服务器路由器可以通过使用网络路由协议(例如 ARP )来实现与云服务器之间的通信。以下是云服务器路由器的一般设置步骤: 连接到服务器:首先,将云服务器路...
      99+
      2023-10-26
      路由器 服务器
    • win10不能设置路由器怎么办
      这篇文章主要介绍了win10不能设置路由器怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。断开路由器与电信光猫之间的连接,将电脑连接到路由器(1、2、3、4任意一个接口)...
      99+
      2023-06-28
    • 无线中继路由器怎么设置
      今天小编给大家分享一下无线中继路由器怎么设置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。无线中继路由器置方法:因为无线中继...
      99+
      2023-07-02
    • vue3中的路由守卫怎么使用
      这篇文章主要介绍“vue3中的路由守卫怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue3中的路由守卫怎么使用”文章能帮助大家解决问题。路由守卫有哪几种?路由守卫(导航守卫)分为三种:全局...
      99+
      2023-07-06
    • 怎么设置软路由全国动态ip
      本篇内容介绍了“怎么设置软路由全国动态ip”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 动态ip一般用于居民公寓内部或校园区,采...
      99+
      2023-06-20
    • Vue中怎么动态设置路由参数
      Vue中怎么动态设置路由参数,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.使用this.$router.go(),与js histro...
      99+
      2024-04-02
    • 云服务器联网怎么设置路由器
      首先,需要先准备一台具有无线路由功能的电脑,并将其固定在一台计算机上,如台式机建议使用路由器作为桥梁,如若需要笔记本电脑或者其他无线设备,可以安装相关的无线路由器软件。 将路由器接在计算机的LAN口上,然后用一根网线连接到路由器WAN口上...
      99+
      2023-10-26
      路由器 服务器
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作