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中判断控件是否存在
Aug 25 Javascript
Flexigrid在IE下不显示数据的处理的解决方法
Oct 24 Javascript
javascript写的异步加载js文件函数(支持数组传参)
Jun 07 Javascript
jquery动态导航插件dynamicNav用法实例分析
Sep 06 Javascript
使用jQuery判断浏览器滚动条位置的方法
May 30 Javascript
深入理解Node.js的HTTP模块
Oct 12 Javascript
Angular.js指令学习中一些重要属性的用法教程
May 24 Javascript
关于JavaScript语句后面的分号问题
Dec 07 Javascript
BootStrap自定义popover,点击区域隐藏功能的实现
Jan 23 Javascript
React组件refs的使用详解
Feb 09 Javascript
Vue 路由切换时页面内容没有重新加载的解决方法
Sep 01 Javascript
JS中实现浅拷贝和深拷贝的代码详解
Jun 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 discuz 主题表和回帖表的设计
2009/03/13 PHP
PHP多线程之内部多线程实例分析
2015/03/09 PHP
php操作memcache缓存方法分享
2015/06/03 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
PHP XML Expat解析器知识点总结
2019/02/15 PHP
PHP判断是否微信访问的方法示例
2019/03/27 PHP
laravel按天、按小时,查询数据的实例
2019/10/09 PHP
Gambit vs CL BO3 第三场 2.13
2021/03/10 DOTA
js技巧--转义符&quot;\&quot;的妙用
2007/01/09 Javascript
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
2011/04/24 Javascript
调试JavaScript中正则表达式中遇到的问题
2015/01/27 Javascript
JavaScript前补零操作实例
2015/03/11 Javascript
浅析JavaScript 调试方法和技巧
2015/10/22 Javascript
使用node.js对音视频文件加密的实例代码
2017/08/30 Javascript
jQuery实现判断上传图片类型和大小的方法示例
2018/04/11 jQuery
小程序从手动埋点到自动埋点的实现方法
2019/01/24 Javascript
vue实现微信获取用户信息的方法
2019/03/21 Javascript
微信小程序的注册页面包含倒计时验证码、获取用户信息
2019/05/22 Javascript
vue项目中微信登录的实现操作
2020/09/08 Javascript
python机器学习理论与实战(五)支持向量机
2018/01/19 Python
python操作oracle的完整教程分享
2018/01/30 Python
Python 函数基础知识汇总
2018/03/09 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
2019/06/19 Python
Python Pandas实现数据分组求平均值并填充nan的示例
2019/07/04 Python
如何提高python 中for循环的效率
2020/04/15 Python
佛罗里达州印第安河新鲜水果:Hale Groves
2017/02/20 全球购物
Java里面Pass by value和Pass by Reference是什么意思
2016/05/02 面试题
电大学习个人自我评价范文
2013/10/04 职场文书
大学生个人简历自我评价
2013/11/16 职场文书
幼儿园儿童节活动主持词+串词大全
2014/03/21 职场文书
创建无烟单位实施方案
2014/03/29 职场文书
竞选大学学委演讲稿
2014/09/13 职场文书
乡镇党委书记第三阶段个人整改措施
2014/09/16 职场文书
学生喝酒检讨书500字
2014/11/02 职场文书
在vue中import()语法不能传入变量的问题及解决
2022/04/01 Vue.js
python中的random模块和相关函数详解
2022/04/22 Python