hash路由模式

  • URL 中的 hash 值只是客户端的一种状态,向服务端发送请求的时候,hash 部分不会被发送;
  • hash 值得改变会在浏览器的历史记增加访问记录,所以可以通过浏览器的回退、前进控制 hash 值的改变;
  • 可以通过 a 标签设置 href 值或者通过 js 给location.hash 赋值来改变 hash 值;
  • 可以通过hashchang 事件来监听 hash 值的变化,从而对页面进行跳转(渲染);

history路由模式

HTML5提供了 history API 来实现 URL 的变化,其中最主要的 API 有以下两个:history.pushState()history.replaceState()。这两个API 可以在不刷新的情况下操作浏览器的历史记录,不同的是,前者是新增一个历史记录,后者是直接替换当前的历史记录。

  • 通过 pushState 和 replaceState 两个API 来操作实现 URL 的变化;
  • 可以通过 popstate 事件来监听 URL 的变化,从而对页面进行跳转(渲染);
  • history.pushState() 或 history.replaceState() 不会触发 popstate 事件,需要手动触发页面跳转;
  • 需要后台配置支持;

Vue的hash/history模式的更多相关文章

  1. 如何去除vue项目中的 # — vue路由的History模式

    前言 在创建的 router 对象中,如果不配置 mode,就会使用默认的 hash 模式,该模式下会将路径格式化为 #! 开头. 添加 mode: 'history' 之后将使用 HTML5 his ...

  2. 每天一点点之vue框架开发 - History 模式下线上路由报404错误

    vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载. 如果不想要很丑的 hash,我们可以用路由的 his ...

  3. Vue路由配置history模式

    我的博客: https://github.com/Daotin/fe-notes/issues vue需要node.js吗? 你可以用 script 标签的形式引入vue.min.js 这样的,不需要 ...

  4. vue react 路由history模式刷新404问题解决方案

    vue单页因微信分享和自动登录需要,对于URL中存在’#’的地址,处理起来比较坑.用history模式就不会存在这样的问题.但是换成history模式,就会有个新的问题,就是页面刷新后,页面就无法显示 ...

  5. Vue之八 HTML5 History模式

    nginx配置 location / { root /webroot/www/ShopMall3; try_files $uri $uri/ /index.html; } /:访问路径: root:服 ...

  6. vue的mode: 'history'模式

    const router = new VueRouter({ mode: 'history', routes: [...] }) 不用mode: 'history'的时候,页面url地址后面会加上一个 ...

  7. vue项目使用history模式打包应该注意的地方

    1.在config/index.js中将assetsPublicPath原来的’/‘修改为‘./’. build: { env: require('./prod.env'), index: path. ...

  8. Vue项目History模式404问题解决

    本文主要解决Vue项目使用History模式发布到服务器Nginx上刷新页面404问题.(由于每个项目的情况都不尽相同,本方案已经完美解决本在所使用项目,具体情况可能还需要修改.) 1.项目背景分析 ...

  9. Tomcat 配置Vue history模式

    Tomcat 配置Vue  history模式 近日 , 在使用 Tomcat 部署Vue项目时 , 刷新项目出现404的异常 . 原因是 Vue使用了history模式 , 而tomcat没有相关配 ...

  10. Apache支持Vue router使用 HTML5History 模式

    一.前言 前端Vue router 使用history模式,URL会比hash模式好看,这种模式要玩好,还需要后端配置支持,否则会报404错误. 注:1.前端代码省略. 2.此处后台使用Apache服 ...

随机推荐

  1. Word19 撰写企业质量管理论文office真题

    1.看到题目要求:打开考试文件下的素材文档"WPS.docx"文件,后续操作均基于此文件,否则不得分. 2.这一步的操作非常简单,打开文件目录进行双击打开即可完成操作. 3.看到题 ...

  2. Clion 配置QT环境设置的注意事项

    众所周知,jetbrain家的产品用起来相当不错,clion作为专用的c/c++语言编辑工具,能够舒服很多,尤其是代码提示功能以及格式化代码的功能.最近入了Qt的坑,准备学一些简单的界面开发,但是Qt ...

  3. 【C学习笔记】day4-2 求出0~999之间的所有“水仙花数”并输出。

    2.求出0-999之间的所有"水仙花数"并输出."水仙花数"是指一个三位数,其各位数字的立方和确好等于该数本身,如:153=1+5+3?,则153是一个&quo ...

  4. Java面向对象之什么是面向对象?

    面向过程 & 面向对象 面向过程思想 1.步骤清晰简单,第一步做什么,第二步做什么...... 2.面对过程适合处理一些较为简单的问题 面向对象思想 1.物以类聚,分类的思想模式,思考问题首先 ...

  5. 创建一个spring项目

  6. Minio客户端工具mc

    简介:mc(Minio Client)是Minio提供访问和操作服务端的客户端工具,有Windows和Linux两个平台版本. 一.安装(基于Linux) 1. mc下载:wget https://d ...

  7. js把一个数组的数据平均到几个数组里面

    arr 原始数组数据 count  每个数组里面元素个数 function splitIpLit(arr,count) { let i = 0; let newArr = []; while(i &l ...

  8. Linux系统Shell脚本第六章:文件三剑客之sed

    Shell编程三剑客之sed 前言 一.Sed编辑器 (1)Sed概述 (2)Sed工作流程 (3)Sed基本语法 二.Sed用法示例 (1)Sed输出指定行 (2)插入符合条件的行 (3)删除符合条 ...

  9. @click,@click.native失效问题(原生js代码innerHTML中填充vue页面,页面中点击事件失效)

    解决方式: window.mapVue = this <input onclick="window.mapVue.locusPath()" type="button ...

  10. CentOS 7.9 环境下部署 Nginx 服务

    sudo setenforce Permissive sudo vi /etc/selinux/config SELINUX=permissive sudo systemctl stop firewa ...