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 EasyUI的formatter格式化函数代码
Jan 12 Javascript
jquery提取元素里的纯文本不包含span等里的内容
Sep 30 Javascript
JavaScript的Date()方法使用详解
Jun 09 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
Nov 07 Javascript
javascript随机抽取0-100之间不重复的10个数
Feb 25 Javascript
javascript cookie用法基础教程(概念,设置,读取及删除)
Sep 20 Javascript
jQuery视差滚动效果网页实现方法经验总结
Sep 29 Javascript
快速实现jQuery多级菜单效果
Feb 01 Javascript
vue router2.0二级路由的简单使用
Jul 05 Javascript
JavaScript多态与封装实例分析
Jul 27 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
Oct 26 Javascript
vue data变量相互赋值后被实时同步的解决步骤
Aug 05 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版(3)
2006/10/09 PHP
php设计模式 Template (模板模式)
2011/06/26 PHP
php各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
Admin generator, filters and I18n
2011/10/06 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
2017/06/07 PHP
基于PHP常用文件函数和目录函数整理
2017/08/17 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
有关DOM元素与事件的3个谜题
2010/11/11 Javascript
无阻塞加载脚本分析[全]
2011/01/20 Javascript
javascript数组的使用
2013/03/28 Javascript
使用js实现关闭js弹出层的窗口
2014/02/10 Javascript
中文输入法不触发onkeyup事件的解决办法
2014/07/09 Javascript
Javascript点击按钮随机改变数字与其颜色
2016/09/01 Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
2016/09/27 Javascript
JavaScript登录验证码的实现
2016/10/27 Javascript
基于NodeJS+MongoDB+AngularJS+Bootstrap开发书店案例分析
2017/01/12 NodeJs
Javascript中引用类型传递的知识点小结
2017/03/06 Javascript
VUE使用vuex解决模块间传值问题的方法
2017/06/01 Javascript
jQuery实现全选、反选和不选功能
2017/08/16 jQuery
node命令行工具之实现项目工程自动初始化的标准流程
2019/08/12 Javascript
使用Layer组件弹出多个对话框(非嵌套)与关闭及刷新的例子
2019/09/25 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
2020/05/19 jQuery
我所理解的JavaScript中的this指向
2020/09/04 Javascript
[01:25]2014DOTA2国际邀请赛 zhou分析LGD比赛情况
2014/07/14 DOTA
跟老齐学Python之有点简约的元组
2014/09/24 Python
小米5s微信跳一跳小程序python源码
2018/01/08 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
python GUI计算器的实现
2020/10/09 Python
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
2020/04/27 HTML / CSS
构造方法和其他方法的区别
2016/04/26 面试题
《春雨》教学反思
2014/04/24 职场文书
植树节标语
2014/06/27 职场文书
2014年中学生检讨书大全
2014/10/09 职场文书
小学运动会开幕词
2016/03/04 职场文书
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
2021/05/26 Python