javascript - 'this.$refs' 在父组件中始终为空

标签 javascript vue.js vuejs2 ref

我正在尝试执行 ref 的标准实现,以便可以将子元素插入到我的 InfoBox 中。但无论我似乎将其作为“ref”元素,都永远不会进入我的 InfoBox 组件。日志调用的结果始终是{} undefined

点击处理程序用于测试计时问题,因为使用 createdmounted 似乎是一个常见问题。

<InfoBox
  v-if="waitingForCode">
  <p ref="infoboxcontent">A 7-digit verification code has been sent.</p>
</InfoBox>

<template>
  <div
    class="info-box"
    @click="clicked" >
    {{ this.$refs.infoboxcontent }}
  </div>
</template>

<script>
export default {
  name: 'InfoBox',
  mounted() {
    console.log(this.$refs, this.$refs.infoboxcontent)
  },
  methods: {
    clicked() {
      console.log(this.$refs, this.$refs.infoboxcontent)
    }
  }
}
</script>

<style scoped>
  // some style
</style>

我开始认为我从根本上误解了“ref”属性的用法,因为这似乎是一个微不足道的例子。任何帮助将不胜感激。

最佳答案

ref Vue 特殊属性用于从当前组件模板引用 DOM 节点(或子组件)。

如果您想将一些内容传递给自定义组件,这是 <slot> 的用例Vue 内置组件。

关于javascript - 'this.$refs' 在父组件中始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50873677/

相关文章:

javascript - Vue : How does vuetify make its components available without import?

javascript - .addNumberOption 错误(斜杠命令)

javascript - Vue 组件,切换数据

javascript - Node.js 包括位于 Web 服务器上的本地 javascript 文件

javascript - 绑定(bind)子输入:value to the parent prop

typescript - Vue 和 TypeScript 需要 prop

javascript - 使用 VueJS 设置 srcObject 的替代方法

vue.js - 使用 Vuex 设置 Vue.js

javascript - 如何设置 jQuery 可拖动最小/最大左和最小/最大右

javascript - 在 redux 中在哪里调度多个 Action ?