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 相关文章推荐
jQuery焦点控制图层展示延迟隐藏的方法
Mar 09 Javascript
jQuery获得包含margin的outerWidth和outerHeight的方法
Mar 25 Javascript
js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解
Apr 01 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
Aug 29 Javascript
Bootstrap 手风琴菜单的实现代码
Jan 20 Javascript
Node.js利用debug模块打印出调试日志的方法
Apr 25 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
Jun 21 Javascript
详解vue组件通信的三种方式
Jun 30 Javascript
使用JavaScript实现链表的数据结构的代码
Aug 02 Javascript
原生JS实现小小的音乐播放器
Oct 16 Javascript
小程序红包雨的实现示例
Feb 19 Javascript
JS removeAttribute()方法实现删除元素的某个属性
Jan 11 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设计模式 Proxy (代理模式)
2011/06/26 PHP
PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
2012/04/02 PHP
PHP实现的文件上传类与用法详解
2017/07/05 PHP
php实现微信支付之企业付款
2018/05/30 PHP
jQuery中[attribute*=value]选择器用法实例
2014/12/31 Javascript
JavaScript中的条件判断语句使用详解
2015/06/03 Javascript
jQuery实现简单的列表式导航菜单效果代码
2015/08/31 Javascript
用AngularJS的指令实现tabs切换效果
2016/08/31 Javascript
5分钟打造简易高效的webpack常用配置
2017/07/04 Javascript
解决vue处理axios post请求传参的问题
2018/03/05 Javascript
使用Vue-cli 3.0搭建Vue项目的方法
2018/06/07 Javascript
Vue2.0仿饿了么webapp单页面应用详细步骤
2018/07/08 Javascript
微信小程序webview实现长按点击识别二维码功能示例
2019/01/24 Javascript
vue父子组件的通信方法(实例详解)
2019/11/10 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
python2.7删除文件夹和删除文件代码实例
2013/12/18 Python
用Python编写一个国际象棋AI程序
2014/11/28 Python
初步介绍Python中的pydoc模块和distutils模块
2015/04/13 Python
python计算时间差的方法
2015/05/20 Python
使用python进行波形及频谱绘制的方法
2019/06/17 Python
python实现猜拳小游戏
2020/04/05 Python
python下载卫星云图合成gif的方法示例
2020/02/18 Python
Python Selenium异常处理的实例分析
2021/02/28 Python
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
美国婚戒购物网站:Anjays Designs
2017/06/28 全球购物
美国独家设计师眼镜在线光学商店:Glasses Gallery
2017/12/28 全球购物
英国领先的露营和露营车品牌之一:OLPRO
2019/08/06 全球购物
MIXIT官网:俄罗斯最大的化妆品公司之一
2020/01/25 全球购物
计算机应用专业推荐信
2013/11/13 职场文书
放弃继承权公证书
2015/01/23 职场文书
党员自我评价2015
2015/03/03 职场文书
物流仓管员岗位职责
2015/04/01 职场文书
河童之夏观后感
2015/06/11 职场文书
2015年国庆节标语大全
2015/07/30 职场文书
PHP解决高并发问题
2021/04/01 PHP
win10输入法不见了只能打出字母怎么解决?
2022/08/05 数码科技