fuliqi
2024-01-24 29c1e7eb5ac16e90d8991a86c1c071bc312ec8d9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*
 * @Author: wuyue
 * @Date: 2023-01-19 10:56:25
 * @LastEditTime: 2023-01-19 13:40:20
 * @LastEditors: wuyue
 * @Descripttion:挂载组件到dom上
 * @version:
 */
import Vue from 'vue'
 
export function create(Component, props) {
  const vm = new Vue({
    // 使用render函数渲染组件
    render(h) {
      return h(Component, { props })
    }
  }).$mount()
  document.body.appendChild(vm.$el)
  const component = vm.$children[0]
  // 组件挂载销毁实例的方法(实际就是删除dom)
  component.removeNotice = function() {
    document.body.remove(vm.$el)
  }
  return component
}