这是函数式组件:

<template functional>
<div>
这是函数式组件
</footer>
</template>
<script>
export default {}
</script>

我要怎么样获取这个组件的dom?我需要把这个dom挂载到el-scrollbar里面,但是render出来的vnode的elm和componentInstance都是undefined,小白求解

回答

函数式组件不会实例化,自然是没有那些实例属性的。

<template functional>
    <div id='xxx'>
        这是函数式组件
    </footer>
</template>

<script>
    export default {}
</script>

//通过获取id就可以获取到DOM元素了
<template functional>
    <footer ref="footer">
        这是函数式组件
    </footer>
</template>

this.$refs.footer.$el

如果你希望操作DOM,可能更适合用vue.extend来做,而不是写成一个组件。
你可以看看这个文章,vue.extend与vue.component区别

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Scroll Up