Vue页面切换和a链接的本质区别详解


Posted in Javascript onNovember 12, 2019

Vue-router是伴随着Vue框架出现的路由系统,它也是公认的一种优秀的路由解决方案。在使用Vue-router时候,我们常常会使用其自带的路径跳转组件Link,通过<Link to="path"></Link>实现跳转,这和传统的<a href="path" rel="external nofollow" ></a>何其相似!但它们到底有什么具体的区别呢?

对比<a>,Link组件避免了不必要的重渲染

A -- 通过<a>标签实现页面跳转:(图中的例子将会在下面详细解答)

图一

Vue页面切换和a链接的本质区别详解

图二

Vue页面切换和a链接的本质区别详解

图三

Vue页面切换和a链接的本质区别详解

B --通过<Link>组件实现页面跳转:

图一

Vue页面切换和a链接的本质区别详解

图二

Vue页面切换和a链接的本质区别详解

只更新变化的部分从而减少DOM性能消耗

Vue的创新之处在于,它利用虚拟DOM的概念和diff算法实现了对页面的"按需更新",Vue-router很好地继承了这一点,譬如上图所示,导航组件和三个Tab组件(通过...,通过...,通过...)的重渲染是我们不希望看到的,因为无论跳转到页面一或是页面二,它只需要渲染一次就够了。<Link>组件帮助我们实现了这个愿望,反观<a>标签,每次跳转都重渲染了导航组件和Tab组件试想一下,在一个浩大的项目里,这多么可怕!我们的"渲染"做了许多"无用功",而且消耗了大量弥足珍贵的DOM性能!

以上这篇Vue页面切换和a链接的本质区别详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery中ajax学习笔记一
Oct 16 Javascript
node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用
Nov 04 Javascript
IE8中动态创建script标签onload无效的解决方法
Dec 22 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
Jul 25 Javascript
Vue+Flask实现简单的登录验证跳转的示例代码
Jan 13 Javascript
JS运动改变单物体透明度的方法分析
Jan 23 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
Sep 16 Javascript
jQuery+vue.js实现的多选下拉列表功能示例
Jan 15 jQuery
微信小程序中weui用法解析
Oct 21 Javascript
javascript实现滚动条效果
Mar 24 Javascript
JavaScript交换变量的常用方法小结【4种方法】
May 07 Javascript
JS数组去重详情
Nov 07 Javascript
vue 中几种传值方法(3种)
Nov 12 #Javascript
Vue 中 a标签上href无法跳转的解决方式
Nov 12 #Javascript
javascript严格模式详解(含严格模式与非严格模式的区别)
Nov 12 #Javascript
vue.js 实现a标签href里添加参数
Nov 12 #Javascript
VUEX 数据持久化,刷新后重新获取的例子
Nov 12 #Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
Nov 12 #Javascript
实现vuex与组件data之间的数据同步更新方式
Nov 12 #Javascript
You might like
Stop SQL Server
2007/06/21 Javascript
Visual Studio中的jQuery智能提示设置方法
2010/03/27 Javascript
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
2013/01/11 Javascript
打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
2014/10/11 Javascript
javascript将异步校验表单改写为同步表单
2015/01/27 Javascript
jQuery检测鼠标左键和右键点击的方法
2015/03/17 Javascript
js图片翻书效果代码分享
2015/08/20 Javascript
分分钟玩转Vue.js组件
2016/10/25 Javascript
Angularjs分页查询的实现
2017/02/24 Javascript
zTree获取当前节点的下一级子节点数实例
2017/09/05 Javascript
利用js将ajax获取到的后台数据动态加载至网页中的方法
2018/08/08 Javascript
解决vue中post方式提交数据后台无法接收的问题
2018/08/11 Javascript
ES6 Array常用扩展的应用实例分析
2019/06/26 Javascript
在layui下对元素进行事件绑定的实例
2019/09/06 Javascript
微信js-sdk 录音功能的示例代码
2019/11/01 Javascript
Vue实现跑马灯效果
2020/05/25 Javascript
Vue+axios封装请求实现前后端分离
2020/10/23 Javascript
[52:44]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第一场 6.3
2018/06/04 DOTA
[54:17]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第二场 1月10日
2021/03/11 DOTA
使用Python脚本实现批量网站存活检测遇到问题及解决方法
2016/10/11 Python
TensorFlow 滑动平均的示例代码
2018/06/19 Python
Python中栈、队列与优先级队列的实现方法
2019/06/30 Python
Python 3.6打包成EXE可执行程序的实现
2019/10/18 Python
django admin后管定制-显示字段的实例
2020/03/11 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
python下对hsv颜色空间进行量化操作
2020/06/04 Python
将n个数按输入顺序的逆序排列,用函数实现
2012/11/14 面试题
会计毕业生求职简历的自我评价
2013/10/20 职场文书
大门门卫岗位职责
2013/11/30 职场文书
文体活动实施方案
2014/03/27 职场文书
物业管理工作方案
2014/05/10 职场文书
幼儿发展评估方案
2014/06/11 职场文书
导游词之青城山景区
2019/09/27 职场文书
JavaCV实现照片马赛克效果
2022/01/22 Java/Android
angular4实现带搜索的下拉框
2022/03/25 Javascript