12345678910111213 |
- import { createVNode, render, Teleport, createBlock, openBlock } from 'vue'
- import type { Component } from 'vue'
- export const mount = (to: HTMLDivElement, Component: Component, props?: Record<string, any>) => {
- const appEl = document.createElement('div')
- const vnode = createVNode(Component, props)
- openBlock()
- const portBlock =createBlock(Teleport as any, { to }, [ vnode ])
- render(portBlock, appEl)
- return () => render(null, appEl)
- }
|