vue.extend构造器

本文深入探讨Vue.extend构造器的功能,展示如何通过该构造器创建自定义类来动态生成DOM元素,以Loading组件为例,详细讲解了从创建、实例化到挂载的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先上一个参考链接,觉得帮助很大: Vue 2.0学习笔记:Vue.extend构造器的延伸
然后拿vue官网的话解释vue.extend:使用基础 Vue 构造器,创建一个“子类”。参数是一个包含组件选项的对象。
什么意思,我的理解其实就是创建一个自己的类,可以通过类的实例化动态创建dom元素
接下来以Loading实例演示一下用法

  • 首先,我们创建一个Loading文件夹,并在其中创建index.vueindex.js两个文件Loading
  • 然后,我们在index.vue中输入一些内容
    Loading
  • index.js中的内容如下
import Vue from 'vue' // 引入Vue
import Loading from './index.vue' // 引入要动态创建的vue模板

const LoadingConstructor = Vue.extend(Loading) // 创建一个Loading类

let newLoading

// 创建并导出showLoading方法
export const showLoading = (option = {}) => {
  newLoading = new LoadingConstructor().$mount() // 实例化Loading类,并挂载
  document.querySelector(option.container || 'body').appendChild(newLoading.$el) // 将生成的元素挂载到option.container元素或者body元素上
}

// 创建并导出hideLoading方法
export const hideLoading = () => {
  newLoading.$el.parentNode.removeChild(newLoading.$el)
}
  • 然后我们就可以进行引入并使用了
    使用Loading
  • 当然,如果我们Vue.extend构造器一般都会进行多次使用,所以我们可以在main.js中将其挂在到Vue的原型上面
    挂载到Vue原型上
    使用
  • 效果图
    效果图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值