vue性能优化

其实性能优化呢是个非常大的话题,只是自己在工作中确实会碰到一下,页面加载慢呢,一部分是逻辑问题,一部分是网络问题,还有就是确实数据太多,dom元素太多了。

1,在网上搜索vue长列表渲染,推荐的方案有Object.freeze() ,后来呢,看到黄轶大神的解答,就是说可以把那些只用于展示的,并且比较长的列表数据,在crated钩子中绑定到this身上,不一定需要写在data里面,

 2,在被复用的组件中,通过eventbus发送的消息,需要在beforeDestory钩子中解绑,解绑的方法也比较简单,看例子:

<script>
    methods:{
      test(){
          this.EventBus.$emit('refresh');
        }
    }
    beforeDestory(){
      this.EventBus.$off('refresh');  //取消对这个事件的监听
    }

</script>            

如果不取消,那么这个组件被激活几次,那么事件监听中的回调函数就会执行几次,比如,A,B页面都使用了这个组件,在A,B组件之前切换时,组件中监听的事件会累加,严重影响页面性能,所以这里的取消监听是非常有必要的

 

当实践到好的方法的时候在过来添加,上面的方法还需要实际验证一下。后面继续补充吧

原文地址:https://www.cnblogs.com/ysla/p/11553387.html