Vue全局弹窗:一次注册,全局可弹
Vue全局弹窗
今天来搞一个全局弹窗,不用每个文件都引入,只在main.js里作为全局原型引入就好了
先新建弹窗组件
toast.vue
<template></template>
<script>
export default {
toast(text) {
this.text = text;
var dom = document.createElement("toast");//Vue不支持直接使用appendChild方法向dom中添加元素,所以需要用到这个奇怪的方法,来创建一个dom节点
dom.className = "toast"; //给我们创建的dom节点写一个类名
dom.id = "toast" //这是id
dom.innerHTML = text; //这个就是内容了,我们把参数 text 传入到这里
document.getElementById("app").appendChild(dom); //现在我们可以拿着做好的节点 直捣黄龙,插入到我们想要插入的地方了
setTimeout("document.getElementById('toast').remove()", 3000 ) //事情办完之后,就要拔出来,别问我为什么只有三秒
},
data() {
return {
text: "",
};
},
};
</script>
<style>
</style>
这样,我们创建好了一个
{{text}}
这样的标签。
这时我们需要把样式写到index.html里,使它全局生效。
index.html
//index.html
.toast {
position: fixed;
font-size: 14px;
color: #888;
top: 20px;
background: #fff;
box-shadow: 0 0 10px #52525278;
height: 20px;
z-index: 99999999;
text-align: center;
border-radius: 10px;
padding: 25px 130px;
animation: toast 3s forwards cubic-bezier(0.57, 0.85, 0.85, 0.57);
}
//因为我们设置3秒后销毁元素,所以动画要控制在3秒以内
//加点小动画
//index.html
@keyframes toast {
1% {
opacity: 0;
right: -200px;
}
10%{
opacity: 1;
right: 20px;
}
90%{
opacity: 1;
right: 20px;
}
100% {
opacity: 0;
right: -200px;
display: none;
}
}
好了,万事俱备,只欠东风了,我们在main.js中注册它
main.js
import toast from './toast'
Vue.prototype.$toast = toast
//我们像使用npm下载的插件一样,直接将它注册为全局prototype
//现在我们就可以在Vue项目中的任何一个地方唤醒它了
//小家伙总是出现在右上角!
this.$toast.toast("ok");
//在引号中传入你想展示的文字吧

它出现了
Vue全局弹窗:一次注册,全局可弹的更多相关文章
- Vue自动化注册全局组件脚本
今天有一个idea,vue一些组件,可能会全局都用到,我觉得在main.js写 Vue.component(name, instance) 然后很命令式,写着也不好看,想着能够有一个函数可以指定加载比 ...
- vue 自动注册全局组件
vue 自动注册全局组件 vue 注册全局组件的方式 const plugins = { install(Vue) { const requireComponent = require.context ...
- vue 注册全局组件
注册全局组件有啥好处呢? 提高代码的复用性:哪里需要写哪里,贼方便,就写一个标签:减少代码量:可以再配合slot一起使用,咦~~,舒服 为了让整个项目的可读性,我创建一个文件统一存放全局组件 1.创建 ...
- vue 中注册全局组件
1 全局注册组件 建一个 js 文件, 注册全局组件, 并且暴露出去 然后再在 main.js 中引入 在页面就可以直接使用了 2 全局注册过滤器 建立文件, 包含所有过滤器方法 ...
- 在vue项目中 如何定义全局变量 全局函数
如题,在项目中,经常有些函数和变量是需要复用,比如说网站服务器地址,从后台拿到的:用户的登录token,用户的地址信息等,这时候就需要设置一波全局变量和全局函数 定义全局变量 原理: 设置一个专用的的 ...
- 前端(二十二)—— vue组件:局部组件、全局组件、父组件数据传到子组件、子组件数据传到父组件、父子组件实现todoList
Vue组件 一.组件介绍 每一个组件都是一个vue实例 每个组件均具有自身的模板template,根组件的模板就是挂载点,根组件也可以显式书写模板,会替换掉挂载点 每个组件模板只能拥有一个根标签 子组 ...
- vue API 知识点(1)---全局 API 总结
1.Vue.extend(options) 构造器,创建一个 子类 .参数是一个包含组件选项的对象 data 选项是特例,需要注意 在 Vue.extend() 中它必须是一个函数, <div ...
- vue中利用.env文件存储全局环境变量,以及配置vue启动和打包命令
目录 1,前言 2,.env文件的作用 3,配置.env文件 4,配置启动命令 5,获取.env中的全局变量 5,实际用处 1,前言 分享一下vue项目中利用.env文件存储全局环境变量,以及利于项目 ...
- vue项目使用.env文件配置全局环境变量
一.env文件的认识: (1).env 文件主要的作用是存储环境变量,也就是会随着环境变化的东西,比如数据库的用户名.密码.缓存驱动.时区,还有静态文件的存储路径之类的.因为这些信息应该是和环境绑定的 ...
随机推荐
- A100计算能力
A100计算能力 A100 GPU支持新的计算功能8.0.表1比较了NVIDIA GPU架构的不同计算功能的参数. 表1.计算能力:GP100 vs. GV100 vs. GA100. MIG架构 尽 ...
- 谁才是智能家居的未来?视声M+O融合方案给出答案
有些智能家居,你不能说它不智能. 但在现实生活中,常常帅不过一秒. 就比如,当你经历了一天的疲惫后回到家,发现玄关的智能开关突然没反应,家里的灯怎么都打不开.这种时候你得明白,你的智能开关面板很有可能 ...
- HAL库与Cubemx系列|Systick-系统滴答定时器详解
Systick是什么? 关于Systick,在Context-M3权威指南中如此描述: SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号: 15).在以前,大多操作系统需要一 ...
- python+selenium基础篇,cookie绕过验证码小案例
1.绕过验证码有许许多多的方法,笔者在此介绍其中的一个小方法,原理其实就是获取已登陆了之后的凭证(会话保存在本地的cookie中)再打开另一个页面的使用 2.F12(浏览器开发者调试工具)可以查看的需 ...
- Spring Cloud系列(六):配置中心
在使用Spring Boot的时候,我们往往会在application.properties配置文件中写一些值,供应用使用,这样做的好处是可以在代码中引用这些值,当这些值需要作出修改的时候,可以直接修 ...
- 使用有道云笔记还是github写笔记的优缺点对比
有道云笔记的优点 在手机上编辑笔记,有道云的体验更好,建议:新建普通类型笔记而不是markdown笔记,因为md在手机上的编辑体验并不好 插入图片方便无需考虑图床 可以把笔记分享到社交平台(QQ,微信 ...
- 搭建支持SSL加密传输的vftpd
让vsftpd支持SSL 必须让OPENSSL≥0.9.6版本还有就是本身vsftpd版本是否支持 查询vsftpd软件是否支持SSL [root@localhost vsftpd]# ...
- Django基础之模型层(01)
内容概要 查询关键字 MySQL select from where group by having order by distinct limit r ...
- MAT工具定位分析Java堆内存泄漏问题方法
一.MAT概述与安装 MAT,全称Memory Analysis Tools,是一款分析Java堆内存的工具,可以快速定位到堆内泄漏问题.该工具提供了两种使用方式,一种是插件版,可以安装到Eclips ...
- Bean初始化操作initMethod、@PostConstruct和InitializingBean
我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 简介 很多时间当一个Bean被创建出来后,我们希望做一些初始化操作,如初始化数据.缓存预热等.有以下三种方法: 初始化 ...