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获取农历日期具体实例
Nov 14 Javascript
javascript显示中文日期的方法
Jun 18 Javascript
JS实现仿微博可关闭弹出层效果
Sep 21 Javascript
JavaScript调用传递变量参数的相关问题及解决办法
Nov 01 Javascript
jQuery简单获取键盘事件的方法
Jan 22 Javascript
Bootstrap开发实战之响应式轮播图
Jun 02 Javascript
利用Jquery队列实现根据输入数量显示的动画
Sep 01 Javascript
javascript中call,apply,bind函数用法示例
Dec 19 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
Jul 09 Javascript
vue+node+webpack环境搭建教程
Nov 05 Javascript
Angular6 正则表达式允许输入部分中文字符
Sep 10 Javascript
vue中利用three.js实现全景图的完整示例
Dec 07 Vue.js
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
phpmyadmin导入(import)文件限制的解决办法
2009/12/11 PHP
通过PHP的内置函数,通过DES算法对数据加密和解密
2012/06/21 PHP
使用淘宝IP库获取用户ip地理位置
2013/10/27 PHP
PHP去除字符串最后一个字符的三种方法实例
2017/03/01 PHP
PHP实现的简单适配器模式示例
2017/06/22 PHP
javascript 复杂的嵌套环境中输出单引号和双引号
2009/05/26 Javascript
Prototype Object对象 学习
2009/07/12 Javascript
jQuery 扩展对input的一些操作方法
2009/10/30 Javascript
Jquery使用css方法改变样式实例
2015/05/18 Javascript
简单谈谈Javascript中类型的判断
2015/10/19 Javascript
JavaScript中浅讲ajax图文详解
2016/11/11 Javascript
基于javascript实现按圆形排列DIV元素(一)
2016/12/02 Javascript
Nodejs回调加超时限制两种实现方法
2017/06/09 NodeJs
代码详解Vuejs响应式原理
2017/12/20 Javascript
微信小程序自定义组件之可清除的input组件
2018/07/17 Javascript
vue.js template模板的使用(仿饿了么布局)
2018/08/13 Javascript
你可能不知道的CORS跨域资源共享
2019/03/13 Javascript
vue-router 起步步骤详解
2019/03/26 Javascript
微信小程序实现定位及到指定位置导航的示例代码
2019/08/20 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
2020/04/20 Javascript
详解Vue中的MVVM原理和实现方法
2020/07/15 Javascript
vue组件暴露和.js文件暴露接口操作
2020/08/11 Javascript
从表单校验看JavaScript策略模式的使用详解
2020/10/17 Javascript
[31:47]夜魇凡尔赛茶话会 第三期01:选手知多少
2021/03/11 DOTA
Python的pycurl包用法简介
2015/11/13 Python
Python依赖包整体迁移方法详解
2019/08/15 Python
python cv2截取不规则区域图片实例
2019/12/21 Python
Python+OpenCV实现旋转文本校正方式
2020/01/09 Python
英国最大的户外商店:Go Outdoors
2019/04/17 全球购物
农民致富事迹材料
2014/01/23 职场文书
展会邀请函范文
2014/01/26 职场文书
入党培养人考察意见
2015/06/08 职场文书
陶瓷类经典广告语集锦
2019/10/25 职场文书
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang
《吸血鬼幸存者》新内容发布 追加多个全新模式
2022/04/07 其他游戏
Echarts如何重新渲染实例详解
2022/05/30 Javascript