Vue性能优化的方法

 更新时间:2020年07月30日 10:05:31   作者:一只菜鸟攻城狮啊  
这篇文章主要介绍了Vue性能优化的方法,文中讲解非常细致,帮助大家更好的理解和学习vue,感兴趣的朋友可以了解下

今天来谈一谈Vue中一些性能优化的问题,仅仅是个人使用中的一些小心得,来,今天我一句废话不多说,直接上内容好吧

  1.v-if和v-show的使用,

    我们都知道这两个都可以控制显隐,那我们用哪个呢,个人觉得要从两个方面入手来确定使用哪个,

    1.权限的问题,只要涉及到权限相关的展示用v-if比较好

    2.切换地频率,如果频繁的切换我们用v-show,不频繁的切换用v-if

  其实两者各有优缺,就看你是怎么选择了,用v-if能减少页面中的DOM总数,加快渲染的速度,而且我们要清楚一个事情

  v-if是'真正的'条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建.

  v-if也是惰性的,如果在初始渲染时条件为假,那么什么都不做- - 直到条件第一次为真的时候才会开始渲染条件块,相比之下,v-show

  就简单得多- - 不管初始条件是什么,元素总会被渲染,并且只是简单的基于css进行切换.

  2.使用动画时可以用CSS启动硬件加速,

    CSS animations, transforms 以及 transitions 不会自动开启GPU加速,而是由浏览器的缓慢的软件渲染引擎来执行,那我们怎样才可以切换到GPU模式呢,很多浏览器提供了某些触发 的CSS规则,可以用transform: translateZ(0); 来开启硬件加速,transform: translate3d(0, 0, 0)也可以。

  3.组件懒加载,

    这个很有用的,例如,当我们在一个很长的页面时,用户可能只会去看前一两屏,那剩下没被用用户观看的组件也会被加载,这样就会浪费我们的资源,我们使用组件懒加载在阻止性能浪费

  4.为item设置唯一key值,

    方便Vuex的内部机制在循环时能够准确的找到该条列表数据

  5.减少watch的数据,在有可能的前提下,减少没有必要的state数据

    因为当watch的数据比较大的时候,会大量消耗性能,所以我们可以使用事件中央总线或者Vuex进行数据的变更操作

    为什么要减少没有必要的state数据,这和Vue的响应式原理有关,Vue会使用 Object.defineProperty 把这些属性全部转为 getter/setter ,并建立相应的Watcher来监控,这就造成一个问题,当我们的state特别多时,对应的Watcher也就会特别多,容易造成卡顿,这也是为什么在大型项目(状态特别多)我们会选用React而不用Vue的原因

  6.图片按需加载,这个算是基础操作了吧

  7.SSR(服务端渲染)

    如果项目比较大,首屏无论怎么做优化,都出现闪屏或者一阵黑屏的情况。可以考虑使用SSR(服务端渲染)

  8.骨架屏加载

    在页面加载资源较多,可能会出现白屏和闪屏的情况,体验不好,这个时候我们可以使用骨架屏

    (骨架屏就是在页面内容未加载完成的时候,先使用一些图形进行占位,待内容加载完成之后再把它替换掉)

  9.打包时的优化

    有时候我们打完包之后发现包会很大,那怎么解决这个问题呢,其实很简单,在项目中,我们不是引入了诸如axios,vuex,vue-router等的包吗,那我们将这些包剔除出去,

    换用cdn直接引入到我们项目的根目录的html当中,

    注意在 webpack 里有个 externals配置,可以忽略不需要打包的库

目前的总结的就是这些,如果以后想起来还有别的,我会再回来添加的,在下告辞,不用想我,我去用个早膳,一会就回来好吧

以上就是Vue性能优化的方法的详细内容,更多关于Vue性能优化的资料请关注脚本之家其它相关文章!

相关文章

  • Vue3.x使用mitt.js进行组件通信

    Vue3.x使用mitt.js进行组件通信

    Vue2.x 使用 EventBus 进行组件通信,而 Vue3.x 推荐使用 mitt.js。本文就介绍一下mitt.js的具体使用方法,感兴趣的可以了解一下
    2021-06-06
  • vue a标签点击实现赋值方式

    vue a标签点击实现赋值方式

    这篇文章主要介绍了vue a标签点击实现赋值方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Vue的Eslint配置文件eslintrc.js说明与规则介绍

    Vue的Eslint配置文件eslintrc.js说明与规则介绍

    最近在跟着视频敲项目时,代码提示出现很多奇奇怪怪的错误提示,百度了一下是eslintrc.js文件没有配置相关命令,ESlint的语法检测真的令人抓狂,现在总结一下这些命令的解释
    2020-02-02
  • Vue利用路由钩子token过期后跳转到登录页的实例

    Vue利用路由钩子token过期后跳转到登录页的实例

    下面小编就为大家带来一篇Vue利用路由钩子token过期后跳转到登录页的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • 使用Webpack提高Vue.js应用的方式汇总(四种)

    使用Webpack提高Vue.js应用的方式汇总(四种)

    Webpack是开发Vue.js单页应用程序的重要工具。下面通过四种方式给大家介绍使用Webpack提高Vue.js应用,需要的的朋友参考下吧
    2017-07-07
  • vue小图标favicon不显示的解决方案

    vue小图标favicon不显示的解决方案

    本篇文章主要介绍了vue小图标favicon不显示的解决方案,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Vue中的路由配置项meta使用解析

    Vue中的路由配置项meta使用解析

    这篇文章主要介绍了Vue中的路由配置项meta使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • 如何使用vue开发公众号网页

    如何使用vue开发公众号网页

    因为项目需要,近期做了一个公众号网页开发。在此期间也踩了一些坑,解决这些坑之后,准备对这个项目进行复盘。记录下项目从开发到上线所解决的问题,并对使用vue进行公众号开发的步骤进行一个总结。方便以后有问题进行查阅。希望对你有所帮助
    2021-05-05
  • 如何用vue2+element-ui实现多行行内表格编辑

    如何用vue2+element-ui实现多行行内表格编辑

    最近开发项目,关于表格的数据操作比较多,这个地方个人觉得比较难搞,特此记录一下,这篇文章主要给大家介绍了关于如何用vue2+element-ui实现多行行内表格编辑的相关资料,需要的朋友可以参考下
    2024-08-08
  • vue实现图片下载点击按钮弹出本地窗口选择自定义保存路径功能

    vue实现图片下载点击按钮弹出本地窗口选择自定义保存路径功能

    vue前端实现前端下载,并实现点击按钮弹出本地窗口,选择自定义保存路径,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-12-12

最新评论