【发布时间】:2018-08-03 08:43:32
【问题描述】:
我正在尝试将当前组件的 ref 传递给这样的子组件:
<template>
<div class="screen" ref="screen">
<child-component :screenRef="screenRef">
</child-component>
</div>
</template>
<script>
const Parent = {
name: 'parent',
data: {
screenRef: {}
},
mounted() {
this.screenRef = this.$refs['screen']
}
}
</script>
由于 Vue.js 类型不支持 HTMLDivElement,当我将 screenRef 定义为 prop 时,子组件中出现错误。
const ChildComponent = {
name: 'child',
props: {
screen: {
type: HTMLDivElement,
default: {}
}
}
}
有人能告诉我正确的方法吗?
【问题讨论】:
-
this.screenRef = this.$el。$el是组件的根元素。 -
@EricGuan 问题不在于我无法获得
ref,而是我无法将其作为道具传递。 -
你为什么需要这样的东西来描述你想要实现的目标
-
那你为什么不把这个计算的结果从父母传给孩子呢?
-
如果你真的需要这种方式,那么传递整个 $refs 对象
标签: javascript vue.js vuejs2