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程序来实现动画功能
Mar 06 Javascript
Javascript中的var_dump函数实现代码
Sep 07 Javascript
js 巧妙去除数组中的重复项
Jan 25 Javascript
方便实用的jQuery checkbox复选框全选功能简单实例
Oct 09 Javascript
js操作label给label赋值及取label的值示例
Nov 07 Javascript
Knockout自定义绑定创建方法
Dec 26 Javascript
js实现带农历和八字等信息的日历特效
May 16 Javascript
JS克隆,属性,数组,对象,函数实例分析
Nov 26 Javascript
微信小程序js文件改变参数并在视图上及时更新【推荐】
Jun 11 Javascript
移动端图片上传旋转、压缩问题的方法
Oct 16 Javascript
js实现带有动画的返回顶部
Aug 09 Javascript
Vue中使用Echarts仪表盘展示实时数据的实现
Nov 01 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云打印类完整示例
2016/10/15 PHP
php array_pop 删除数组最后一个元素实例
2016/11/02 PHP
解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
2007/08/13 Javascript
用函数式编程技术编写优美的 JavaScript_ibm
2008/05/16 Javascript
JQuery学习笔记 nt-child的使用
2011/01/17 Javascript
jquery的each方法使用示例分享
2014/03/25 Javascript
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
2014/12/18 NodeJs
JavaScript 基本概念
2015/01/20 Javascript
基于Jquery实现表单验证
2020/07/20 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
2015/08/17 Javascript
JS实现的在线调色板实例(附demo源码下载)
2016/03/01 Javascript
jQuery控制文本框只能输入数字和字母及使用方法
2016/05/26 Javascript
微信小程序 简单教程实例详解
2017/01/13 Javascript
jQuery插件HighCharts绘制2D带有Legend的饼图效果示例【附demo源码下载】
2017/03/10 Javascript
Angularjs 1.3 中的$parse实例代码
2017/09/14 Javascript
vuejs项目打包之后的首屏加载优化及打包之后出现的问题
2018/04/01 Javascript
详解vue axios用post提交的数据格式
2018/08/07 Javascript
微信小程序之swiper滑动面板用法示例
2018/12/04 Javascript
深入koa-bodyparser原理解析
2019/01/16 Javascript
vue项目打包后提交到git上为什么没有dist这个文件的解决方法
2020/09/16 Javascript
vue打开新窗口并实现传参的图文实例
2021/03/04 Vue.js
Python中的rfind()方法使用详解
2015/05/19 Python
Python正则表达式实现简易计算器功能示例
2019/05/07 Python
详解Python的三种可变参数
2019/05/08 Python
python3光学字符识别模块tesserocr与pytesseract的使用详解
2020/02/26 Python
详解Django ORM引发的数据库N+1性能问题
2020/10/12 Python
一款纯css3实现的竖形二级导航的实例教程
2014/12/11 HTML / CSS
Html5页面内使用JSON动画的实现
2019/01/29 HTML / CSS
大学毕业生通用求职信
2013/09/28 职场文书
《玩具柜台前的孩子》教学反思
2014/02/13 职场文书
《灰椋鸟》教学反思
2014/04/27 职场文书
大学学习计划书范文
2014/05/02 职场文书
房地产销售经理岗位职责
2015/02/02 职场文书
PostgreSQL解析URL的方法
2021/08/02 PostgreSQL
解决使用了nginx获取IP地址都是127.0.0.1 的问题
2021/09/25 Servers
Java 中的 Lambda List 转 Map 的多种方法详解
2022/07/07 Java/Android