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 相关文章推荐
让焦点自动跳转
Jul 01 Javascript
不错的JS中变量相关的细节分析
Aug 13 Javascript
jquery easyui的tabs使用时的问题
Mar 23 Javascript
jquery load()在firefox(火狐)下显示不正常的解决方法
Apr 05 Javascript
Jquery index()方法 获取相应元素索引值
Oct 12 Javascript
Js实现动态添加删除Table行示例
Apr 14 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
Mar 03 Javascript
基于jquery fly插件实现加入购物车抛物线动画效果
Apr 05 Javascript
React Router基础使用
Jan 17 Javascript
分析JS单线程异步io回调的特性
Dec 01 Javascript
jQuery中each方法的使用详解
Mar 18 jQuery
36个正则表达式(开发效率提高80%)
Nov 17 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
php下几个常用的去空、分组、调试数组函数
2009/02/22 PHP
php array_map array_multisort 高效处理多维数组排序
2009/06/11 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
2014/08/19 PHP
php中print(),print_r(),echo()的区别详解
2014/12/01 PHP
mysql查找删除重复数据并只保留一条实例详解
2016/09/24 PHP
Laravel推荐使用的十个辅助函数
2019/05/10 PHP
js实现权限树的更新权限时的全选全消功能
2009/02/17 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
2013/09/10 Javascript
connect中间件session、cookie的使用方法分享
2014/06/17 Javascript
Javascript Object 对象学习笔记
2014/12/17 Javascript
如何用js 实现依赖注入的思想,后端框架思想搬到前端来
2015/08/03 Javascript
jquery限定文本框只能输入数字(整数和小数)
2016/01/08 Javascript
使用开源工具制作网页验证码的方法
2016/10/17 Javascript
js下载文件并修改文件名
2017/05/08 Javascript
JavaScript条件判断_动力节点Java学院整理
2017/06/26 Javascript
angularjs实现时间轴效果的示例代码
2017/11/29 Javascript
使用async await 封装 axios的方法
2018/07/09 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
vue下axios拦截器token刷新机制的实例代码
2020/01/17 Javascript
JavaScript 实现继承的几种方式
2021/02/19 Javascript
[01:15:36]加油刀塔第二期网络版
2014/08/09 DOTA
[01:20:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第四场 8.26
2018/08/30 DOTA
[39:08]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第一场 12.12
2020/12/16 DOTA
python获取指定目录下所有文件名列表的方法
2015/05/20 Python
在Mac OS系统上安装Python的Pillow库的教程
2015/11/20 Python
Python 实现异步调用函数的示例讲解
2018/10/14 Python
在Python中等距取出一个数组其中n个数的实现方式
2019/11/27 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
通过Python实现一个简单的html页面
2020/05/16 Python
用css3实现转换过渡和动画效果
2020/03/13 HTML / CSS
美国花布包包品牌:Vera Bradley
2017/08/11 全球购物
中国高端家电购物商城:顺电
2018/03/04 全球购物
《夜晚的实验》教学反思
2014/02/19 职场文书
给学校建议书范文
2014/05/13 职场文书
中学生检讨书范文
2014/11/03 职场文书
六一亲子活动感想
2015/08/07 职场文书