简介
实现功能
使用vue-cli3.0生成项目
toast全局组件编写
/src/toast/toast.vue
<template> <div class="app-toast" v-if="isShow" :class="{'info': type=== 'info','success': type=== 'success','wraning': type=== 'wraning','danger': type=== 'danger'}">{{text}}</div> </template> <style scoped> .app-toast { position: fixed; left: 50%; top: 50%; background: #ccc; padding: 10px; border-radius: 5px; transform: translate(-50%, -50%); color: #fff; } .info { background: #00aaee; } .success { background: #00ee6b; } .wraning { background: #eea300; } .danger { background: #ee000c; } </style>
/src/toast/index.js
import vue from 'vue' import toastComponent from './toast.vue' // 组件构造器,构造出一个 vue组件实例 const ToastConstructor = vue.extend(toastComponent) function showToast ({ text, type, duration = 2000 }) { const toastDom = new ToastConstructor({ el: document.createElement('div'), data () { return { isShow: true, // 是否显示 text: text, // 文本内容 type: type // 类型 } } }) // 添加节点 document.body.appendChild(toastDom.$el) // 过渡时间 setTimeout(() => { toastDom.isShow = false }, duration) } // 全局注册 function registryToast () { vue.prototype.$toast = showToast } export default registryToast
全局注册
/main.js
import toastRegistry from './toast/index' Vue.use(toastRegistry)
调用
/src/views/home.vue
<template> <div class="home"> <input type="button" value="显示弹窗" @click="showToast"> </div> </template> <script> export default { name: 'home', methods: { showToast () { this.$toast({ text: '我是消息' // type: 'wraning', // duration: 3000 }) } } } </script>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍vue的全局提示框组件实例代码,包括了vue的全局提示框组件实例代码的使用技巧和注意事项,需要的朋友参考一下 这篇文章给大家介绍一个vue全局提示框组件,具体代码如下所示: toast.js 如何使用? 在main.js中 在component中 总结 以上所述是小编给大家介绍的vue的全局提示框组件实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大
本文向大家介绍使用use注册Vue全局组件和全局指令的方法,包括了使用use注册Vue全局组件和全局指令的方法的使用技巧和注意事项,需要的朋友参考一下 Vue中的组件和指令分为局部组件、局部指令和全局组件、全局指令。对于注册有一定数量的全局指令和全局组件时,官方文档中的方法就显得有些不够清爽了。 全局组件 在Vue官方文档中介绍的是使用Vue.component(tagName, options)
本文向大家介绍vue 递归组件的简单使用示例,包括了vue 递归组件的简单使用示例的使用技巧和注意事项,需要的朋友参考一下 前言 递归 相信很多同学已经不陌生了,算法中我们经常用递归来解决问题。比如经典的:从一个全为数字的数组中找出其中相加能等于目标数的组合。思路也不难,循环数组取值,不断递归相加,直到满足目标数条件。递归虽然能解决大部分,但弊处在于,很容易写出死循环的代码,导致爆栈。下面以我实际
本文向大家介绍vue bus全局事件中心简单Demo详解,包括了vue bus全局事件中心简单Demo详解的使用技巧和注意事项,需要的朋友参考一下 1.vue-cli搭建好项目之后,使用npm安装vue-bus npm install vue-bus 2.在入口文件main.js中全局注册 3.传递数据: 4.接收数据: 5.注意事项 this的作用域要指向当前的vm实例,on监听事件一般放在组
本文向大家介绍浅谈vue自定义全局组件并通过全局方法 Vue.use() 使用该组件,包括了浅谈vue自定义全局组件并通过全局方法 Vue.use() 使用该组件的使用技巧和注意事项,需要的朋友参考一下 简介 Vue.use( plugin ):安装 Vue.js 插件。如果插件是一个对象,必须提供 install 方法。如果插件是一个函数,它会被作为 install 方法。install 方法将
Display global messages as feedback in response to user operations. Normal prompt Normal message for information. <w class="button-container"> <button ref="open-normal-message" class="btn btn-primar