- 创建配置文件index.js 和Toast.vue模板
import Toast from './Toast'
const obj = {}
obj.install = function (Vue) {
const toastContrustor = Vue.extend(Toast)
const toast = new toastContrustor()
toast.$mount(document.createElement('div'))
document.body.appendChild(toast.$el)
Vue.prototype.$toast = toast
}
export default obj
<template>
<div class="toast" v-show="isShow">
{{message}}
</div>
</template>
<script>
export default {
data() {
return {
isShow:false,
message:''
}
},
methods:{
show(message,duration) {
this.message = message;
this.isShow = true;
setTimeout(() => {
this.isShow = false;
this.message = ''
},duration)
}
}
}
</script>
<style scoped>
.toast{
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
padding: 15px 25px;
color: #fff;
background: rgba(0, 0, 0, .7);
z-index: 999;
border-radius: 10px;
text-align: center;
}
</style>>
</style>
- 引入到Main.js注册
import toast from 'common/toast'
Vue.use(toast)
- 调用安装的插件
this.$toast.show(res, 1000)