如何在组件内将响应式vnode传递给注入的函数
问题:Vue组件实例vnode.children与插槽内容不匹配的兼容解决方案
这是我此前问题的后续:
- 我尝试通过注入函数向父组件注册一个vnode,此前的方案能保留响应式,但出现新问题:
this.$是组件实例而非vnode(vnode对应this.$.vnode),导致组件无法通过vnode.children访问注册对象的子元素(如插槽)。 - 进一步发现
this.$.vnode.children与this.slots.default()返回的子元素并不相同,我原以为插槽会返回与组件实例相同的vnode,对此感到困惑。 - 由于这是针对PrimeVue的PR,我希望尽量减少代码变更并保持向后兼容,因此不想修改访问
children属性的代码(DataTable的诸多组件都使用该方式),恳请提供可行的解决方案。
内容的提问来源于stack exchange,提问作者Antonio Dell
相关产品推荐
相关产品推荐

