当前位置: 首页 > news >正文

vue.extend解决vue页面转构造函数暴露js供全局使用

 用途: 解决在一些微前端项目中, B工程使用A工程的弹窗代码

// MaterialListPlugin.js文件, 在项目入口引入
// eg: 在main.js中添加一行 import '@/components/MaterialListPlugin.js'import Vue from 'vue'
import MaterialListPlugin from '@/components/MaterialListPlugin.vue' // 简单的弹窗示例function showDialog(options) {const Dialog = Vue.extend(MaterialListPlugin)const app = new Dialog().$mount(document.createElement('div'))// options:{} 绑定this中的属性for (const key in options) {app[key] = options[key]}document.body.appendChild(app.$el) //注入htmlreturn app // 返回实例以供页面调用
}Vue.prototype.$MyMaterial = showDialog

页面调用: this.$MyMaterial().onShow() // onShow是vue页面的方法, 唤起弹窗的

// MaterialListPlugin.vue文件 (简单的弹窗示例)
<template><my-dialog :visible="dialogShow"><div class="my-dialog-content">// 弹窗内容</div><template v-slot:footer><t-button @click="onHide">取消</t-button><t-button @click="onConfirm">确认</t-button></template></my-dialog>
</template><script>
export default {name: 'materialWordPlugin',data() {return {dialogShow: false,}},methods: {// 弹窗显示onShow() {this.dialogShow = true},// 弹窗隐藏onHide() {this.dialogShow = false},// 确定按钮onConfirm() {this.onHide()},},
}
</script>

参考: Vue中Vue.extend()的使用及解析_vue.js_脚本之家

http://www.lryc.cn/news/378826.html

相关文章:

  • Java中如何处理异常?
  • wordpress站群搭建3api代码生成和swagger使用
  • 如何在使用 Qt 时打印到控制台
  • ffmpeg音视频开发从入门到精通——ffmpeg下载编译与安装
  • 数据通信与网络(三)
  • 盲盒小程序模式?有什么功能?
  • 【MySQL进阶之路 | 高级篇】InnoDB搜索引擎行格式
  • 大数据面试-Scala
  • 76.最小覆盖子串
  • 深度学习算法informer(时序预测)(三)(Encoder)
  • HTML和CSS基础(一)
  • 低代码平台教你两步把SQL直接转换为RESTful API
  • JavaWeb阶段学习知识点(二)
  • 数据结构【二叉树】
  • Vue P17-54
  • 【自动驾驶】从零开始做自动驾驶小车
  • 一文让你彻底搞懂什么是VR、AR、AV、MR
  • Python设计模式 - 简单工厂模式
  • L55--- 257.二叉树的所有路径(深搜)---Java版
  • 智慧园区解决方案PPT(53页)
  • Windows安装MySQL(8.0.37)
  • 永磁同步电机驱动死区补偿
  • 智能体合集
  • 智能农业管理系统设计
  • Matlab的Simulink系统仿真(simulink调用m函数)
  • C语言中操作符详解(一)
  • 【论文阅读】Multi-Camera Unified Pre-Training via 3D Scene Reconstruction
  • 深入了解NumPy的原理与使用
  • Linux Centos 环境下搭建RocketMq集群(双主双从)
  • 全网最全postman接口测试教程和项目实战~从入门到精通