我引用了一个组件

 <Gmap ref="mapRef">

在这里,我这样做,只是为了看看对象是可用的

 mounted(){
   let self = this
   console.log(self.$refs) // Shows the mapRef object reference
   console.log(self.$refs.mapRef) // returns undefined ???
 }

赛尔夫$裁判显示...

  mapRef: VueComponent {_uid: 207, _isVue: true, $options: {…}, _renderProxy: Proxy, _self: VueComponent, …}

那么为什么赛尔夫$裁判.mapRef返回未定义??

推荐答案

我用v-show而不是v-if解决了这个问题.

我把组件放在了一个v-if语句中.

 <div v-if="!isLoading"> 
   <GMap ref="mapRef" />
 </div>

我只是把它改成了v秀

<div v-show="!isLoading"> 
   <GMap ref="mapRef" />
 </div>

现在该对象在mounted()中可用.还是觉得奇怪,控制台.日志(log)(此.$refs)显示它可以作为此上的键使用$裁判,尽管事实并非如此?这是奇怪的行为.

另一件事是,即使我试图访问这个$裁判.mapRef在我的数据加载部分,数据加载后(即isLoading=false),我仍然无法访问它.尽管如此,它应该是可用的,因为v-if通过了.

所以v-show解决了这个问题,只是隐藏了div,而不是不渲染它.愚蠢的小办法.

Vue.js相关问答推荐

Vuetify 2中自定义标头的排序和筛选

为什么 Pinia/Vuex 比使用服务类的classic 方法更受欢迎?

TailwindCSS 为什么前者比后者重要?

Rails Webpacker 还是 Vue-CLI?

混合使用 React 和 Vue 是个好主意吗?

JSDoc 单文件 Vue 组件

Vue.js 开发工具未显示

Vue 两种方式的 prop 绑定

在 SASS 中使用 Vuetify 类

如何使用 vue-resource 添加额外的标头来发布请求?

在 vuejs 中将旧代码修改为 vue router 4

验证子组件Vue vee-validate

Vuetify 输入自动完成错误

错误:vue-loader 要求 @vue/compiler-sfc 存在于依赖树中

Javascript/vue.js 接收json

Vue Js如何在单个文件模板中使用mixins?

Vuejs css 范围性能

Vue路由在新页面上回到顶部

何时使用

如何隔离 Vuetify 全局样式