I want to give the same height to a div
containing Component2
as another div (modelDiv) containing Component1
.
<template>
<div>
<div v-if="showMe">
<div ref="modelDiv">
<Component1/>
</div>
</div>
<div v-else>
<div :style="setDivHeight">
<Component2/>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
displayMe: true,
elementHeight: null,
}
},
computed: {
showMe() {
return this.displayMe
},
setDivHeight() {
return `height: ${this.elementHeight}px;`
},
},
mounted() {
this.$nextTick(function () {
this.elementHeight = this.$refs.modelDiv[0].$el.clientHeight
})
},
}
</script>
I am having this error message TypeError: Cannot read properties of undefined (reading '$el')
and console.log('the height', this.$refs)
gives me modelDiv: undefined
. I can't figure out why. Any help is welcome.