函数式挂载组件同teleport一起有点疑问
来源:8-7 Message 组件改进为函数调用形式
ForCoke
2022-05-06
老师,请问一下:
1、我们通过createApp方式创建Message实例,这个过程中Message组件中的各类定义,包括它的setup生命周期都会按照我们定义的执行吗?就是执行setup,执行onBeforeMount然后停止,等待我们手动将其挂载后才执行onMounted?
2、如果执行了我们在setup中的定义,那么确实会创建一个id为message的节点,同时组件因为teleport也很挂载到message节点上,那么我们createMessage中又创建了一个div节点,同时又把组件实例挂载到该div节点上,那么这个message究竟是挂载到哪一个节点上的啊?
3、如果确定了该组件只能通过函数调用的这种方式执行,那么teleport以及useDomCreate这些应该就可以直接直接去除了,而如果还希望能够通过组件标签的方式使用,是不是还应该保留着?
写回答
1回答
-
同学你好
1 我们的整个应用就是使用 createApp 创建的,所以你可以对比整个应用进行理解。 Message 就是它的一个根组件,还是和原来的生命周期一致的。
2 可以看一下截图,就很清楚了,createMessage 创建的节点是 testing,它里面是空的,(有 teleport 的注释),然后直接 teleport 到 message 节点去了。
3 根据上面的分析,所以不能删除。
012022-05-07
相似问题
Teleport无法渲染出来
回答 2
关于teleport功能的衍生问题
回答 1