Vue.extend详解,自定义toast弹窗

Vue.extend详解,自定义toast弹窗Vue.extend方法,返回的是一个扩展实例构造器可以理解为组件类的一个构造函数,其属性都为组件内的对应的属性//定义一个组件的构造函数constdivComponent=Vue.extend({ template:`<divv-on:click=”click”>{{text}}</div>`, data(){ return{ text:’helloword’ } }, methods:{ click(){ consol

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Vue.extend方法,返回的是一个扩展实例构造器

可以理解为组件类的一个构造函数,其属性都为组件内的对应的属性

//定义一个组件的构造函数
const divComponent = Vue.extend({ 
   
	template:`<div v-on:click="click">{ { text } }</div>`,
	data() { 
   
		return { 
   
			text: 'hello word'
		}
	},
	methods:{ 
   
		click(){ 
   
			console.log("click")
		}
	}
})
//调用new方法 实例化组件并挂载dom上
new divComponent().$mount('#app');
//或者直接传入一个el参数来挂载
new divComponent({ 
   el:"#app"})
好比当我想自定义一个toast弹窗,即可使用Vue.extend实现
//先定义好toast.vue组件模板 如下
<template>
	<div class="container">
		<div> { 
    text } </div>
	</div>
</template>
//新建toast.js 
import Vue from 'vue';
import toast from './toast.vue'
//创建构造器 将组件放进去
const ToastConstructor =  Vue.extend(toast);
//定一个触发toast显示的方法 并且写好显示的规则、参数等
function showToast(text,duration=2200){ 
   
	const toastDOM = new ToastConstructor({ 
   
		el:document.createElement("div"),
		data(){ 
   
			return{ 
   
				text:text
			}
		}
	})
	//添加到body中
	document.body.appendChild(toastDOM.$el)
	//自动消失
	setTimeout(()=>{ 
   
		let dom = toastDOM.$el
		dom.parentNode.removeChild(dom)
	},duration)
}
//按照vue规则,定义全局方法需要暴露一个 install 方法,如default导出为方法则可当做install使用 因此这样写
function toastRegistry(){ 
   
	Vue.prototype.$toast = showToast
}
export default toastRegistry
//最后在main.js中使用Vue.use(toastRegistry)引用即可
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189942.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql忘记密码解决方案及三种方式修改密码

    mysql忘记密码解决方案及三种方式修改密码mysql用户分为root用户(超级管理员,拥有所有权限)和普通用户,mysql服务器通过权限表来控制用户对数据库的访问,这些权限表存于root用户下的mysql数据库中。在使用mysql数据库过程中,往往需要修改密码的操作,下面介绍三种修改密码的方式:1、使用mysqladmin命令在命令行指定新密码mysqladmin-uroot-ppassword‘新密码’…

    2022年5月6日
    161
  • 角速度与位移矢量叉乘_角速度叉乘角动量

    角速度与位移矢量叉乘_角速度叉乘角动量矢量导数——角速度与矢量的叉乘原创不易,路过的各位大佬请点个赞矢量叉乘,向量外积矢量导数——角速度与矢量的叉乘1.定理证明证明结论部分1.定理矢量的导数为角速度叉乘以该适量。这也是角速度的定义。角速度在一般意义上是一个二阶张量,不过由于这个张量满足某些约束条件,自由的分量个数恰好变成了3个,所以正好可以拼凑成一个三分量矢量。刚体绕定轴旋转时,角速度矢量的方向垂直于旋转平面,且按右手螺旋法则确定证明定义矢量在本体坐标系表示为rar_ara​,在旋转坐标系的表示为rbr_brb​,两个坐

    2025年7月16日
    3
  • 本地Web服务器搭建[通俗易懂]

    本地Web服务器搭建[通俗易懂]1.Dreamweaver->新建站点->站点名称+本地站点文件夹->保存2.IE->Internet选项->安全标签->自定义级别(安全设置对话框)->启用“通过域访问数据源”->确定3.将webs.exe(WebServer)放至脚本根目录上一级目录,运行webs.exe4.启动浏览器输入IP地址:127.0.0.1即可访问本地的We

    2022年5月27日
    49
  • PyPDF2读取中文_pdfplumber、pypdf2 常用方法总结

    PyPDF2读取中文_pdfplumber、pypdf2 常用方法总结这两天学习了一些处理PDF文档的方法,网上查找资料的过程中发现很多处理PDF文件的库,多方尝试后推荐两个比较好用的。若处理对象是PDF文档本身,则推荐使用pypdf2,如对PDF文档进行分割,合并,插入等操作.若处理对象是PDF文档中的文本,表格等内容,则推荐使用pdfplumber.pypdf2PdfFileMerger。该类用来合并pdf文件,该类的构…

    2022年6月23日
    36
  • Eric6的基础使用方法「建议收藏」

    Eric6是Python编程语言的IDE程序,功能之强大,绝不输于Python平台下的任何IDE程序,占用内存低运行速度快足以令Eric6藐视群雄,最可贵的是与PyQt5结合的更是天衣无缝,简直就是开发GUI程序的绝配。PyQt5是赖以Python编程语言的外部GUI开发语言,其夯实的底层基础与强大的可视化界面设计让PyQt5成为Python语言GUI开发的佼佼者,更新速度之快,开发GUI程序的速度

    2022年4月17日
    87
  • Maven 中央仓库地址及配置

    Maven 中央仓库地址及配置Maven 中央仓库地址 1 http mvnrepositor com 推荐 配置步骤 1 首先配置 Maven 的 setting xml 文件中的 mirror 节点 配置为你的仓库地址 这个文件可以分为全局的和局部的 全局的 setting xml 位于 M2 HOME conf 局部的文件可以自定义文件位置 例如 d repository setting xml 配置如下

    2025年7月20日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号