当前位置: 首页 > news >正文

大学网站模板html网站建设平台 创新模式

大学网站模板html,网站建设平台 创新模式,html 网站 模板,做图模板下载网站vue-router原理 hash模式 实现原理 改变描点监听描点变化 history模式 实现原理 改变url监听url变化 abstracthash 和 history 模式有什么区别#xff1f; url 不一样原理不同 其他总结扩展 history 出现404错误 vue-router原理 vue-router是vue项目的重要组成部分#x…vue-router原理 hash模式 实现原理 改变描点监听描点变化 history模式 实现原理 改变url监听url变化 abstracthash 和 history 模式有什么区别 url 不一样原理不同 其他总结扩展 history 出现404错误 vue-router原理 vue-router是vue项目的重要组成部分用于构建单页应用。 单页应用是基于路由和组件的路由用于设定访问路径并将路径和组件映射起来。 路由的本质就是建立url和页面之间的映射关系。 实现原理vue-router 的原理就是更新视图而不重新请求页面 更多详细内容请微信搜索“前端爱好者“ 戳我 查看 。 vue-router 可以通过 mode 参数设置为三种模式hash 模式、history 模式、abstract 模式。 hash模式 hash模式是vue-router的默认模式。 hash指的是url描点当描点发生变化的时候浏览器只会修改访问历史记录不会访问服务器重新获取页面。 因此可以监听描点值的变化根据描点值渲染指定dom。 实现原理 改变描点 可以通过location.hash /hashpath的方式修改浏览器的hash值。 监听描点变化 可以通过监听hashchange事件监听hash值的变化。 window.addEventListener(hashchange, () {const hash window.location.hash.substr(1)// 根据hash值渲染不同的dom })当调用 push 时把新路由添加到浏览器访问历史的栈顶。 使用 replace 时把浏览器访问历史的栈顶路由替换成新路由 hash 的值等于 url 中 # 及其以后的内容。 浏览器是根据 hash 值的变化将页面加载到相应的 DOM 位置。 锚点变化只是浏览器的行为每次锚点变化后依然会在浏览器中留下一条历史记录可以通过浏览器的后退按钮回到上一个位置。 history模式 hash模式下url可能为以下形式 http://localhost:8080/index.html#/book?bookid1上面的url中既有#又有?会让url看上去很奇怪因此可以使用history模式在此模式下url会如下面所示 http://localhost:8080/book/1实现原理 改变url H5的history对象提供了pushState和replaceState两个方法当调用这两个方法的时候url会发生变化浏览器访问历史也会发生变化但是浏览器不会向后台发送请求。 // 第一个参数data对象在监听变化的事件中能够获取到 // 第二个参数title标题 // 第三个参数跳转地址 history.pushState({}, , /a)监听url变化 可以通过监听popstate事件监听history变化也就是点击浏览器的前进或者后退功能时触发。 window.addEventListener(popstate, () {const path window.location.pathname// 根据path不同可渲染不同的dom })abstract 不涉及和浏览器地址的相关记录。 流程跟 hash 模式一样通过数组维护模拟浏览器的历史记录栈 服务端下使用。 使用一个不依赖于浏览器的浏览器历史虚拟管理后台 hash 和 history 模式有什么区别 url 不一样 hash路由再地址栏URL上有“#”而history路由没有 原理不同 hash 是通过 hashchange 进行监听历史栈的变化将浏览器历史记录栈的路由替换为新的 hash 浏览器会根据 hash 变化将页面加载到相应的 DOM 位置 history 是通过 window.onpopstate 对地址栏进行监听 使用 pushState()、replaceState() 对历史记录栈修改从而实现 url 对加载无需跳转页面。 他有一个问题就是刷新页面会走后端路由所以需要服务端的辅助来完成避免 url 无法匹配到资源时能返回页面。 其他 hash支持一些低版本的浏览器而history不支持。 总结 hash路由在地址栏URL上有#用 window.location.hash 读取。而history路由没有,会好看一点我们进行回车刷新操作hash路由会加载到地址栏对应的页面而history路由一般就404报错了 刷新是网络请求没有后端准备时会报错 。hash路由支持低版本的浏览器而 history路由是HTML5新增的API 。hash的特点在于它虽然出现在了URL中但是不包括在http请求中所以对于后端是没有一点影响的所以改变hash不会重新加载页面所以这也是单页面应用的必备。history运用了浏览器的历史记录栈之前有 back,forward,go 方法之后在HTML5中新增了 pushState和replaceState 方法它们提供了对历史记录进行修改的功能不过在进行修改时虽然改变了当前的URL但是浏览器不会马上向后端发送请求。history的这种模式需要后台配置支持 。比如当我们进行项目的主页的时候一切正常可以访问但是当我们刷新页面或者直接访问路径的时候就会返回404 【那是因为在history模式下只是动态的通过js操作window.history来改变浏览器地址栏里的路径并没有发起http请求但是当我直接在浏览器里输入这个地址的时候就一定要对服务器发起http请求但是这个目标在服务器上又不存在所以会返回404】 扩展 history 出现404错误 1hash 模式下仅hash符号之前的内容会被包含在请求中如http://www.abc.com,因此对于后端来说即使没有做到对路由的全覆盖也不会返回404错误。 2history模式下前端的URL必须和实际向后端发起请求的URL一致。如htttp://www.abc.com/book/id。如果后端缺少对/book/id 的路由处理将返回404错误 问题解决 出现404错误的解决办法网上介绍的很多方法都不行。安装URL重写模块配置重写规则统一指向index.html.或者直接把url重写生成的web.config文件直接放置到网站根目录下即可。 参考文档 https://v3.router.vuejs.org/zh/installation.htmlhttps://www.cnblogs.com/ifon/p/15881223.htmlhttps://zhuanlan.zhihu.com/p/584365427https://www.php.cn/faq/490021.htmlhttps://segmentfault.com/a/1190000023662742
http://www.dnsts.com.cn/news/227927.html

相关文章:

  • 做网站网编程app用什么软件
  • 企业网站产品分类多怎么做seoseo顾问价格
  • 电子商务企业网站策划app手机软件开发公司
  • 合江县住房建设规划局网站高清免费素材网站
  • 没有网站怎么做外贸游戏钓鱼网站开发
  • 企业网站是什么人社局劳务网站建设汇报
  • 网站开发全栈工程师技能图公司网站建设项目的成本计划
  • 网站统计开放平台c 微信网站开发
  • 深圳网站建设价格是多少山西省和城乡建设厅网站
  • 做网站兴趣爱好偃师建设局网站
  • 建立网站一般那些阶段设计商城网站
  • 红色系网站网站建设与管理李洪心
  • 网站开发属于固定资产吗北京seo服务销售
  • 百度关键词查询网站国外 设计师 网站
  • 魔方 网站做厂房出租有那些推广网站
  • 网站建站手机做服装零售上什么网站
  • 中山建设局网站平台代理商
  • 百度认证号码平台青岛做优化网站哪家好
  • 什么网站需要服务器各种网站开发语言的优缺点
  • 代理备案网站个人怎么做一个网站
  • 用织梦系统做网站产权南通市网站建设我的完
  • 初学网站开发学生个人网页制作html
  • 服装网站建设价格有没有帮别人做创意的网站
  • 电子商务网站建设毕业设计上海黄金网站设计
  • 旅游网站建设需求说明书网站建设怎么进后台
  • 中英文网站建设的差别四川建设网官网住房和城乡厅官网官方
  • 苏州的网站建设如何屏蔽网站ip
  • 做一家直播卖货的网站网站开发 前端 外包
  • 做电脑网站用什么软件好用吗龙岩食品有限公司
  • 南宁网站建设公司利润怎么开发手机页面