vue-router的两种模式的区别

Vue Router 是一个官方的 Vue.js 路由管理器,它可以将组件与标识符映射为路由,然后将其传递给 Vue.js 实例进行渲染,在 Vue Router 中主要有两种路由模式:hash 模式和 history 模式。

hash 模式

hash 模式就是将路由信息放在 url 中的 hash (#)中,这种模式下的 url 格式为:

http://localhost:8080/#/home

在 Vue Router 中使用 hash 模式的代码如下:

const router = new VueRouter({
    mode: 'hash',
    routes: [
      {
        path: '/home',
        name: 'home',
        component: Home
      }
    ]
})

使用 hash 模式时,路由的变化不会导致浏览器向服务器发送请求,因为 hash 符号后面的内容是由浏览器自行解析的。并且 hash 模式下还可以根据 hashchange 事件进行路由的监听和切换。

history 模式

history 模式是使用 HTML5 的 history API 来实现 URI 与页面内容的映射关系,使用这种方式时,url 格式为:

http://localhost:8080/home

在 Vue Router 中使用 history 模式的代码如下:

const router = new VueRouter({
    mode: 'history',
    routes: [
      {
        path: '/home',
        name: 'home',
        component: Home
      }
    ]
})

相较于 hash 模式,history 模式更加简洁美观,但是要在服务器中进行相应的配置,否则在正常访问中会出现 404 错误,同时支持 history 模式的浏览器也有限。

示例:

在 hash 模式下,当我们从 /home 跳转到 /about 时,url 格式为:http://localhost:8080/#/about;而在 history 模式下,url 格式为:http://localhost:8080/about

// hash 模式下的代码示例
const router = new VueRouter({
    mode: 'hash',
    routes: [
      {
        path: '/home',
        name: 'home',
        component: Home
      },
      {
        path: '/about',
        name: 'about',
        component: About
      }
    ]
})

// history 模式下的代码示例
const router = new VueRouter({
    mode: 'history',
    routes: [
      {
        path: '/home',
        name: 'home',
        component: Home
      },
      {
        path: '/about',
        name: 'about',
        component: About
      }
    ]
})

总而言之,Vue Router 中的两种路由模式各有优缺点,我们可以根据具体业务场景来选择。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue-router的两种模式的区别 - Python技术站

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

相关文章

  • JavaScript定时器用法

    JavaScript定时器是一种用于在指定时间间隔后执行代码的功能。在Web应用程序中,它们经常用于将动画效果与其他用户交互部分结合起来。本攻略将详细介绍JavaScript定时器,包括setTimeout和setInterval函数的用法。 setTimeout setTimeout函数允许我们在指定的时间间隔之后执行一段代码。以下是setTimeout函…

    Web开发基础 2023年3月30日
    00
  • javascript使用输出语句实现网页特效代码

    请听我详细讲解。 在 JavaScript 中,我们可以使用输出语句实现网页特效代码。主要有两种方法:通过console.log向浏览器控制台输出信息或直接操作网页DOM元素来实现特效效果。 通过 console.log 输出信息 console.log 是 JavaScript 中常用的控制台输出方式,它可以输出文本信息或变量的值,并可以跟着一些格式化标记…

    JavaScript 2023年5月28日
    00
  • 详解JavaScript 中 if / if…else…替换方式

    下面我将详细讲解“详解JavaScript中if/if…else…替换方式”的完整攻略。 一、背景介绍 在JavaScript编程中,常用的逻辑判断方式是if语句和if…else语句。然而,当判断条件多且复杂时,使用if语句或if…else语句显得比较繁琐。为了解决这个问题,我们可以采用一些替换方式来简化代码的书写,并且使其更易懂。 二、替换…

    JavaScript 2023年6月10日
    00
  • 深入理解JavaScript中的尾调用(Tail Call)

    深入理解JavaScript中的尾调用(Tail Call) 在JavaScript中,尾调用(Tail Call)是一个非常重要的概念。它解决了递归调用过多时可能发生的堆栈溢出问题,同时还可以提高代码的性能。本文将详细介绍什么是尾调用,以及如何正确地使用它。 尾调用的定义 尾调用是指函数最后执行的操作是一个返回语句,这个返回值可以直接返回给函数调用者。这个…

    JavaScript 2023年6月10日
    00
  • 如何使用JavaScript实现无缝滚动自动播放轮播图效果

    以下是使用JavaScript实现无缝滚动自动播放轮播图效果的攻略: 步骤一:准备轮播图的HTML和CSS样式 首先,在HTML中创建轮播图的容器,并添加每张图片和对应的导航点,例如: <div class="slider-container"> <div class="slider-wrapper"…

    JavaScript 2023年6月10日
    00
  • JS实现获取word文档内容并输出显示到html页面示例

    JS实现获取Word文档内容并输出显示到HTML页面可分为以下几个步骤: 将Word文档转为纯文本格式(txt或html) 通过Ajax或其他方式,将文本数据读入JS中 使用JS处理文本数据,按照需求进行格式化以及其他处理操作 将处理后的数据输出到HTML页面中 以下是两个获取Word文档内容并显示到HTML页面的示例: 示例1:使用插件Jsoup获取Wor…

    JavaScript 2023年5月28日
    00
  • js同源策略详解

    JS同源策略详解:什么是同源? 在网站开发中,我们常常会遇到 JS 同源策略,那么什么是同源?为什么同源策略这么重要?这篇文章将为你一一解答。 同源(Same-origin)是由同一个协议(protocol)、主机名(host)和端口号(port)组成,若三者相同,则是同源。例如: https://www.example.com 和 https://www.…

    JavaScript 2023年6月11日
    00
  • 解放web程序员的输入验证

    解放Web程序员的输入验证是一项重要的任务,任何一个Web应用程序都需要正确输入验证以防止输入数据造成的不良影响。下面是一些实现完整Web应用程序输入验证的攻略: 1. 使用前端验证 当用户输入数据时,前端验证可以快速捕捉到错误并防止这些错误提交到服务器。例如,你可以使用Javascript验证用户名和密码字段是否符合要求,避免在提交表单后再次获取错误。 下…

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