美文网首页
异步组件懒加载 获取不到ref

异步组件懒加载 获取不到ref

作者: chiugi | 来源:发表于2021-03-30 10:11 被阅读0次

关键字:获取不到ref,异步组件,$refs
记一次异步组件导致的bug

目前这个bug只在打包环境出现,本地环境不出现,暂时不清楚什么原因

先解释一下什么是异步组件,其实和vue-router的组件懒加载写法一样,只是应用在局部注册中而已


export default {
  components: {
    MdChart: () => import('@/components/子组件')
  },
}

好处的话就是懒加载的好处,可以微略提高一些脚本速度。

bug出现

由于我写的子组件需要调用组件内的一些methods来进行初始化,因此需要获取子组件的dom。和平常一样在mounted获取ref然后调用子组件的方法, 本地开发环境是没有问题的。
然后上线测试环境,怎么子组件没了,原来是$refs获取不到,子组件没办法初始化。

定位

其实我找了半天,一直把关注点放在ref的获取上,无论怎么调整,加上$nextTick和settimeout都没有用,本地不重现线上重现,最后还是聚焦在子组件上,发现这种引入的方式会导致mounted之后也获取不到子组件的dom,切换回官方的就好了

解决

子组件传出this代替refs获取
使用局部注册的方式

总结

问题找到了,平时还是推荐使用官方推荐的局部注册的方式吧,否则需要关注其他注册方式子组件的生命周期是否正确。

相关文章

  • 异步组件懒加载 获取不到ref

    关键字:获取不到ref,异步组件,$refs记一次异步组件导致的bug 目前这个bug只在打包环境出现,本地环境不...

  • Vue学习笔记(2):Vue使用中碰到的一些坑

    1.子组件获取不到父组件异步加载的值父组件: 由于数据是异步获取的,而子组件在一开始就渲染了,所以这时候info是...

  • vue项目按需加载

    原理:利用webpack对代码进行分割是懒加载的前提,懒加载就是异步调用组件,需要时候才下载。 1、vue异步组件...

  • vue-01

    vue+webpack 优化 一.异步加载 1.异步加载组件,其实就是组件懒加载。可以理解为:当我需要使用组件的时...

  • vue中组件懒加载

    vue中组件懒加载的方法 1.异步实现路由懒加载 2.import(推荐使用这种方式) 同理,路由懒加载和组件懒加...

  • vue路由懒加载及组件懒加载

    路由 和 组件 的常用两种懒加载方式:1、vue异步组件实现路由懒加载component:resolve=>(['...

  • 获取form,ref---antd

    无状态组件,获取form 无状态组件,获取ref 函数组件获取ref

  • Vue 组件

    全局组件引入 局部组件引入 ref获取dom节点、获取组件引用 ref在html元素获取的是dom节点ref在组件...

  • VUE首屏加载优化

    (1)组件按需加载;对Element-UI, Mint-UI组件进行按需加载;(2)路由组建懒加载;异步加载con...

  • Vue路由异步组件

    vue异步组件和懒加载可以优化vue的性能 一、 原理 利用webpack对代码进行分割是懒加载的前提,懒加载就是...

网友评论

      本文标题:异步组件懒加载 获取不到ref

      本文链接:https://www.haomeiwen.com/subject/kluwhltx.html