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 相关文章推荐
Javascript中的String对象详谈
Mar 03 Javascript
JavaScript加入收藏夹功能(兼容IE、firefox、chrome)
May 05 Javascript
JavaScript运行机制之事件循环(Event Loop)详解
Oct 10 Javascript
jQuery动态修改超链接地址的方法
Feb 13 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
Oct 23 Javascript
React Router基础使用
Jan 17 Javascript
js + css实现标签内容切换功能(实例讲解)
Oct 09 Javascript
js实现简单选项卡功能
Mar 23 Javascript
vue发送ajax请求详解
Oct 09 Javascript
js tab栏切换代码实例解析
Sep 03 Javascript
基于JS正则表达式实现模板数据动态渲染(实现思路详解)
Mar 07 Javascript
js+cavans实现图片滑块验证
Sep 29 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
全国FM电台频率大全 - 24 贵州省
2020/03/11 无线电
ThinkPHP中处理表单中的注意事项
2014/11/22 PHP
php数组随机排序实现方法
2015/06/13 PHP
PHP+Ajax实时自动检测是否联网的方法
2015/07/01 PHP
详解WordPress中添加和执行动作的函数使用方法
2015/12/29 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
2020/05/02 PHP
javascript数组去重3种方法的性能测试与比较
2013/03/26 Javascript
jQuery+JSON+jPlayer实现QQ空间音乐查询功能示例
2013/06/17 Javascript
jQuery使用$.get()方法从服务器文件载入数据实例
2015/03/25 Javascript
JS和css实现检测移动设备方向的变化并判断横竖屏幕
2015/05/25 Javascript
使用JavaScript实现旋转的彩圈特效
2015/06/23 Javascript
整理Javascript事件响应学习笔记
2015/12/02 Javascript
微信小程序 支付简单实例及注意事项
2017/01/06 Javascript
BootStrap框架中的data-[ ]自定义属性理解(推荐)
2017/02/14 Javascript
扩展bootstrap的modal模态框-动态添加modal框-弹出多个modal框
2017/02/21 Javascript
javascript 开发之百度地图使用到的js函数整理
2017/05/19 Javascript
js实现带进度条提示的多视频上传功能
2020/12/13 Javascript
微信小程序 页面跳转传值实现代码
2017/07/27 Javascript
微信小程序实现canvas分享朋友圈海报
2020/06/21 Javascript
JavaScript实现浏览器网页自动滚动并点击的示例代码
2020/12/05 Javascript
用Python的Tornado框架结合memcached页面改善博客性能
2015/04/24 Python
python 生成器协程运算实例
2017/09/04 Python
Python中的二维数组实例(list与numpy.array)
2018/04/13 Python
Python绘制的二项分布概率图示例
2018/08/22 Python
Python 隐藏输入密码时屏幕回显的实例
2019/02/19 Python
python使用celery实现异步任务执行的例子
2019/08/28 Python
python中@property的作用和getter setter的解释
2020/12/22 Python
Django权限控制的使用
2021/01/07 Python
意大利奢侈品购物网站:Giglio
2018/01/05 全球购物
环境科学专业个人求职的自我评价
2013/11/28 职场文书
原料仓管员岗位职责
2014/04/12 职场文书
求职信内容怎么写
2014/05/26 职场文书
企业党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
学年个人总结范文
2015/03/05 职场文书
感动中国何玥观后感
2015/06/02 职场文书
golang import自定义包方式
2021/04/29 Golang