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 文件主要的作用是存储环境变量,也就是会随着环境变化的东西,比如数据库的用户名.密码.缓存驱动.时区,还有静态文件的存储路径之类的.因为这些信息应该是和环境绑定的 ...
随机推荐
- mysql 多字段联合唯一索引
6个字段组成联合唯一索引 索引名称code_level_metric_type_week_year sql语句联合索引 CREATE UNIQUE INDEX code_level_metric_ty ...
- NVIDIA深度学习Tensor Core性能解析(上)
NVIDIA深度学习Tensor Core性能解析(上) 本篇将通过多项测试来考验Volta架构,利用各种深度学习框架来了解Tensor Core的性能. 很多时候,深度学习这样的新领域会让人难以理解 ...
- A100计算能力
A100计算能力 A100 GPU支持新的计算功能8.0.表1比较了NVIDIA GPU架构的不同计算功能的参数. 表1.计算能力:GP100 vs. GV100 vs. GA100. MIG架构 尽 ...
- GStreamer跨平台多媒体框架
GStreamer跨平台多媒体框架 Gstreamer基本概念 GStreamer是用于构造媒体处理组件图的库.它支持的应用程序范围从简单的Ogg / Vorbis回放,音频/视频流到复杂的音频(混合 ...
- Kettle通过Http post请求webservice接口以及结果解析处理
kettle中有两种方式请求webservice服务,一个是Web服务查询,但是这个有缺陷,无法处理复杂的需求,遇到这种情况就需要用Http post来处理了. 网上也有很多关于Http post请求 ...
- 把HttpClient换成IHttpClientFactory之后,放心多了
前言 关于HttpClient的使用,个人在很多场景都派上用场了,比如在Winform或后台服务中用其调用接口获取和上传数据.微服务中用其进行各服务之间的数据共享等,到目前来看,似乎还没有出现过什么问 ...
- 【转】【NX二次开发】UFUN进度中断,单击停止可中断此操作
队长的博客: https://www.cnblogs.com/nxopen2018/p/13174207.html 显示此对话框,点击可中断操作: 用到的ufun函数: UF_ABORT_ask_fl ...
- UF_CLONE 克隆操作
Open C UF_CLONE_add_assembly 添加装配到克隆操作UF_CLONE_add_part 添加部件到克隆操作UF_CLONE_apply_defaultsU ...
- 图文并茂教你学会使用 IntelliJ IDEA 进行远程调试
1. 前言 今天线上出现了个 Bug ,而且比较坑的是涉及到微信相关的东西不能线下调试.传统方式是在代码中各种的日志 log 埋点然后重新部署进行调试,再根据 log 中的信息进行分析.如果你的 lo ...
- 【题解】Luogu P2889 [USACO07NOV]挤奶的时间Milking Time
Luogu P2889 [USACO07NOV]挤奶的时间Milking Time 题目描述 传送门Bessie is such a hard-working cow. In fact, she is ...