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 相关文章推荐
用js+xml自动生成表格的东西
Dec 21 Javascript
JavaScript URL参数读取改进版
Jan 16 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
Apr 07 Javascript
javaScript 利用闭包模拟对象的私有属性
Dec 29 Javascript
JavaScript函数定义的常见注意事项小结
Sep 16 Javascript
jquery仿微信聊天界面
May 06 jQuery
javascript简单链式调用案例分析
May 10 Javascript
原生JS实现 MUI导航栏透明渐变效果
Nov 07 Javascript
一个Vue视频媒体多段裁剪组件的实现示例
Aug 09 Javascript
vue使用i18n实现国际化的方法详解
Sep 05 Javascript
Layui选项卡制作历史浏览记录的方法
Sep 28 Javascript
Vue路由守卫及页面登录权限控制的设置方法(两种)
Mar 31 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
基于mysql的bbs设计(五)
2006/10/09 PHP
PHP生成自定义长度随机字符串的函数分享
2014/05/04 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
2016/11/25 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
JavaScript中的Window窗口对象
2008/01/16 Javascript
什么是JavaScript
2009/08/13 Javascript
Jquery ui css framework
2010/06/28 Javascript
jQuery(1.6.3) 中css方法对浮动的实现缺陷分析
2011/09/09 Javascript
JavaScript 实现类的多种方法实例
2013/05/01 Javascript
js实现动态添加、删除行、onkeyup表格求和示例
2013/08/18 Javascript
解决checkbox的attr(checked)一直为undefined问题
2014/06/16 Javascript
AngularJS轻松实现双击排序的功能
2016/08/30 Javascript
3种不同的ContextMenu右键菜单实现代码
2016/11/03 Javascript
JS表格组件神器bootstrap table使用指南详解
2017/04/12 Javascript
javascript trie前缀树的示例
2018/01/29 Javascript
js中的 || 与 &amp;&amp; 运算符详解
2018/05/24 Javascript
微信小程序上线发布流程图文详解
2019/05/06 Javascript
Vue 权限控制的两种方法(路由验证)
2019/08/16 Javascript
Vue 刷新当前路由的实现代码
2019/09/26 Javascript
vue 实现input表单元素的disabled示例
2019/10/28 Javascript
[47:18]完美世界DOTA2联赛循环赛 IO vs FTD BO2第一场 11.05
2020/11/06 DOTA
python生成随机图形验证码详解
2017/11/08 Python
用Python实现数据的透视表的方法
2018/11/16 Python
python 输出所有大小写字母的方法
2019/01/02 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
TensorFlow实现指数衰减学习率的方法
2020/02/05 Python
使用Python Tkinter实现剪刀石头布小游戏功能
2020/10/23 Python
一个C/C++编程面试题
2013/11/10 面试题
预防煤气中毒方案
2014/06/16 职场文书
化学教育专业自荐信
2014/07/04 职场文书
优秀团员个人总结
2015/02/26 职场文书
队名及霸气口号大全
2015/12/25 职场文书
MySQL查询日期时间
2022/05/15 MySQL
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers