首页 > 其他分享 >vue-router路由之路-极简教程

vue-router路由之路-极简教程

时间:2022-12-15 10:45:28浏览次数:80  
标签:极简 vue name url path 组件 router 路由

image.png

01、什么是前端路由?

前端路由的一个大背景就是当下流行的单页应用SPA,一些主流的前端框架,如vue、react、angular都属于SPA,那什么是SPA呢?

1.1、SPA

SPA(single-page application)单页面应用,就是浏览器只加载了一个URL地址,一个页面,应用的所有功能、交互都在这个页面内进行。而实现单页面应用的基础就是ajax,通过异步请求动态的切换页面内容、实现交互,页面整体没有刷新。这避免了页面URL跳转,用户体验也不会中断,就像原生应用一样,体验比较好。越来越多的系统在使用SPA,尤其是WebApp中使用广泛。

image.png

SPA单页应用对应的就是多页应用MPA,当然两者不是非此即彼的,主要基于业务需求,是可以共存的。

区别 单页面应用(SPA) 多页面应用(MPA)
页面组成 一个主页,包含多个页面片段 多个主页面
刷新方式 局部刷新 整页刷新
url模式 hash哈希模式 、history历史模式 history历史模式
SEO搜索引擎优化 难实现,采用页面静态化方式优化 容易实现
数据传递 同一应用内,容易 通过url、cookie、localStorage等传递,复杂
渲染性能 首次加载资源多稍慢,切换快,体验良好 切换加载资源,速度慢,用户体验差
转场动画 容易实现 好像实现不了
维护成本 相对容易 相对复杂

SPA的主要表现就是更新视图而不重新请求页面,要实现前端的页面的自主路由控制,而不会刷新页面,涉及两种主流的技术:hash模式、history模式,这算是前端路由的核心原理,简单了解一下吧!

1.2、#hash路由原理

hash( /hæʃ/ )是URL地址中#号后面的内容(包括#),原本的作用是用于HTML页面内部定位的描点,描点的变化不会导致页面重新加载。HTTP请求中也不会带#,所以刷新也不影响,这是浏览器端的本地行为。

  • 页面不刷新:hash的变化不会刷新页面,只会触发浏览器定位锚点,这是hash实现前端路由的基本原理。
  • 获取 hashwindow.location.hash
  • hash 变更事件window.hashchange监听hash变化。
  • 不同的hash会进入浏览器历史记录。

http://www.xxx.cn/#/about
http://www.xxx.cn/#/pro-info-list

所以,实现过程就比较简单了!

监测hash变化:通过hashchange事件监测hash变化 。

加载资源:根据hash值匹配不同资源进行加载、切换,在Vue中切换的其实就是不同的组件。

image

标签:极简,vue,name,url,path,组件,router,路由
From: https://www.cnblogs.com/anding/p/16906882.html

相关文章

  • vue+django项目nginx部署在https下
    vue+django项目nginx部署在https下1.问题出现这个问题的原因是在https网站下浏览器不允许发送http请求。由于django默认是http,所以肯定会报这个错误,如果网站部署在http......
  • Vue笔记6--组合式API setup
    1、组合式api-setup组合式api将同一个逻辑关注点的代码收集在一起。在组件被创建前执行,props解析完成后被作为组合式api入口。setup取代了beforeCreate()和created(),由于......
  • 每日一题之Vue的异步更新实现原理是怎样的?
    最近面试总是会被问到这么一个问题:在使用vue的时候,将for循环中声明的变量i从1增加到100,然后将i展示到页面上,页面上的i是从1跳到100,还是会怎样?答案当然是只会显示100,并不会......
  • 腾讯前端常考vue面试题(必备)
    虚拟DOM的优劣如何?优点:保证性能下限:虚拟DOM可以经过diff找出最小差异,然后批量进行patch,这种操作虽然比不上手动优化,但是比起粗暴的DOM操作性能要好很多,因此虚拟......
  • 每日一题之Vue数据劫持原理是什么?
    什么是数据劫持?定义:数据劫持,指的是在访问或者修改对象的某个属性时,通过一段代码拦截这个行为,进行额外的操作或者修改返回结果。简单地说,就是当我们触发函数的时候动......
  • 前端vue面试题汇总
    常见的事件修饰符及其作用.stop:等同于JavaScript中的event.stopPropagation(),防止事件冒泡;.prevent:等同于JavaScript中的event.preventDefault(),防止执行预设......
  • Vue组件的使用
    Vue组件简述组件化开发是Vue的开发模式,组件是Vue的重要组成部分。vue私有组件的使用分三步1.导入:importLeftfrom'@/components/Left.vue'2.注册:components:{Left......
  • Vue核心概念与其指令
    Vue简述Vue是一套构建用户界面的前端框架。建用户界面的意思是:往html中填充数据。框架的意思是:一套开发规范。 Vue的特点1.数据驱动视图当页面是一个普通的展示时,......
  • Vue事件修饰符
    Vue中的事件修饰符:            1.prevent:阻止默认事件(常用);            2.stop:阻止事件冒泡(常用);      ......
  • vue-element-admin 安装第三包(npm install)时报错
    主要报错信息:ls-remotessh://[email protected]/adobe-webplatform/eve.gitnpmERR!code128npmERR!gitdeppreparationfailednpmERR!commandD:\nodejs\node.exe......