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对象之JS入门之Array对象操作小结
Jan 09 Javascript
js获取指定日期前后的日期代码
Aug 20 Javascript
JavaScript实现获取某个元素相邻兄弟节点的prev与next方法
Jan 25 Javascript
基于 webpack2 实现的多入口项目脚手架详解
Jun 26 Javascript
使用nvm管理不同版本的node与npm的方法
Oct 31 Javascript
微信小程序实现点击文字页面跳转功能【附源码下载】
Dec 12 Javascript
JS基于封装函数实现的表格分页完整示例
Jun 26 Javascript
JavaScript引用类型Function实例详解
Aug 09 Javascript
了解JavaScript中的选择器
May 24 Javascript
vue使用i18n实现国际化的方法详解
Sep 05 Javascript
微信小程序实现上传照片代码实例解析
Aug 04 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
Aug 18 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
综合图片计数器
2006/10/09 PHP
dedecms模版制作使用方法
2007/04/03 PHP
fleaphp下不确定的多条件查询的巧妙解决方法
2008/09/11 PHP
php学习笔记之 函数声明
2011/06/09 PHP
PHP中使用xmlreader读取xml数据示例
2014/12/29 PHP
php利用递归实现删除文件目录的方法
2016/09/23 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
2019/03/07 PHP
PHP filter_var() 函数, 验证判断EMAIL,URL等
2021/03/09 PHP
得到文本框选中的文字,动态插入文字的js代码
2007/03/07 Javascript
JavaScript对象的property属性详解
2014/04/01 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
2015/02/24 Javascript
jqPlot jQuery绘图插件的使用
2016/06/18 Javascript
详解JavaScript模块化开发
2016/12/04 Javascript
JavaScript实现两个select下拉框选项左移右移
2017/03/09 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
2017/12/20 Javascript
Vue.js 十五分钟入门图文教程
2018/09/12 Javascript
记一次用vue做的活动页的方法步骤
2019/04/11 Javascript
es6数组includes()用法实例分析
2020/04/18 Javascript
JS寄快递地址智能解析的实现代码
2020/07/16 Javascript
Vue实现腾讯云点播视频上传功能的实现代码
2020/08/17 Javascript
vant中的toast轻提示实现代码
2020/11/04 Javascript
Python日志模块logging简介
2015/04/13 Python
python redis 删除key脚本的实例
2019/02/19 Python
Python多线程threading模块用法实例分析
2019/05/22 Python
基于Python函数和变量名解析
2019/07/19 Python
Django项目主urls导入应用中views的红线问题解决
2019/08/10 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
2019/08/15 Python
用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
2021/01/29 Python
总结html5自定义属性有哪些
2020/04/01 HTML / CSS
Spongelle官网:美国的创意护肤洗护品牌
2019/05/15 全球购物
如何查看在weblogic中已经发布的EJB
2012/06/01 面试题
高中毕业生自我鉴定
2013/11/03 职场文书
软环境建设心得体会
2014/09/09 职场文书
英文道歉信
2015/01/20 职场文书
创业计划书之旅游网站
2019/09/06 职场文书
详解Python+OpenCV绘制灰度直方图
2022/03/22 Python