看了iview对confirm组件的封装, 支持传入vnode进行和组件一起渲染, 原理就是把vnode作为参数传给render函数, 但是感觉不太灵活, 有办法直接在更灵活吗?比如:
methods: {
handler(){
this.vnode = this.$render(this.vnode);
}
}
注: 我也不想用complie把父组件html变成vnode, 请问有什么好的最佳实践吗?
自己回答下,
实例上有$createElement(), 所以上面可以改完
methods: {
handler(){
this.vnode = this.$createElement('<v-xxx/>');
}
} ```
参考官方文档slot-scope 作用域插槽
可以将组件或者html元素传给子组件