如果把vue组件动态添加到body上?

tools.js:

javascript 复制代码
import Vue from 'vue'
 
/**
 * @param Component 组件实例的选项对象
 * @param props 组件实例中的prop
 */
export function create(Component, props) {
  const comp = new (Vue.extend(Component))({ propsData: props }).$mount()
   
  document.body.appendChild(comp.$el)
 
  comp.remove = () => {
    document.body.removeChild(comp.$el)
 
    comp.$destroy()
  }
 
  return comp
}

App.js:

javascript 复制代码
<template>
  <div class="m-feedback-out-wrap">
    <el-button @click="handleAdd">添加</el-button>
  </div>
</template>

<script>
import { Feedback } from './feedback'
import { Button } from 'element-ui'
import { create } from './tools'
import './index.css'

let feeback
export default {
  name: 'App',
  data() {
    return {}
  },
  components: {
    [Button.name]: Button,
    Feedback,
  },
  mounted() {
    this.handleAdd()
  },
  methods: {
    handleAdd() {
      if (feeback) {
        feeback.remove()
      }
      feeback = create(Feedback)
    },
    handleInit() {
      let node = document.getElementById('m-feedback')
      if (node) {
        node.parentNode.removeChild(node)
      }
      let newElement = document.createElement('div')
      newElement.id = 'm-feedback'
      newElement.innerHTML = 'Hello World'
      document.body.appendChild(newElement)
    },
  },
}
</script>

我开发的chatgpt项目:

https://chat.xutongbao.top/

相关推荐
customer0820 分钟前
【开源免费】基于SpringBoot+Vue.JS周边产品销售网站(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·java-ee·开源
清灵xmf21 分钟前
TypeScript 类型进阶指南
javascript·typescript·泛型·t·infer
小白学大数据27 分钟前
JavaScript重定向对网络爬虫的影响及处理
开发语言·javascript·数据库·爬虫
qq_3901617736 分钟前
防抖函数--应用场景及示例
前端·javascript
334554321 小时前
element动态表头合并表格
开发语言·javascript·ecmascript
John.liu_Test1 小时前
js下载excel示例demo
前端·javascript·excel
PleaSure乐事1 小时前
【React.js】AntDesignPro左侧菜单栏栏目名称不显示的解决方案
前端·javascript·react.js·前端框架·webstorm·antdesignpro
哟哟耶耶1 小时前
js-将JavaScript对象或值转换为JSON字符串 JSON.stringify(this.SelectDataListCourse)
前端·javascript·json
getaxiosluo1 小时前
react jsx基本语法,脚手架,父子传参,refs等详解
前端·vue.js·react.js·前端框架·hook·jsx
理想不理想v1 小时前
vue种ref跟reactive的区别?
前端·javascript·vue.js·webpack·前端框架·node.js·ecmascript