Vue如何跨组件传递Slot的实现
嵌套传递通过固定级别的组件结构里可以通过直接书写来传递对应的Slot元素,来实现一层一层的传递。动态组件还有一种方式是通过动态组件,也是认为比较推荐的实现方式,不是通过传递Slot,而是通过子节点主动去获取根节点的Slot对象,然后直接在UI中渲染出来。为此我们需要创建一个组件来渲染对应的Slot对象。首先需要获取根节点:通过递归我们可以获取到对应的父节点,这样我们就可以把Slot作为Data暴露出来这时候我们需要一个组件来渲染暴露出来的Slot:好了现在该准备的都准备好了,可以去实现UI的显示了:这样我们就实现了类似下面定义Slot的传递,也解决了我们跨组件传递Slot的问题。
用户评论