1. Alert.vue
<template>
<div v-if="isShow">
<div class="ui dialog-overlay" />
<div class="dialog_pop">
<div v-if="isTitleText" class="pop_tit">
<h3 v-text="title" />
</div>
<div class="pop_cet">
<p class="pop_text" v-html="message" />
</div>
<div class="pop_btn border_top">
<a
v-if="isCancelBtn"
href="javascript:void(0);"
class="btn_item black"
@click="handleColse()"
>{{ cancelText }}</a>
<a v-if="isSureBtn" href="javascript:void(0);" class="btn_item" @click="handleSure()">{{
sureText
}}</a>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
isShow: true, //默认不显示
title: '', //外界传值过来,展示
message: '', // 内容
cancelText: '取消',
sureText: '确定',
isCancelBtn: true, // 是否展示取消按钮
isSureBtn: true, // 是否展示确认按钮
isTitleText:true, // 是否展示title
};
},
methods: {},
};
</script>
2. index.js
import Vue from 'vue';
import Alert from './Alert';
const alertContructor = Vue.extend(Alert);
const myAlert = function (options) {
return new Promise((resolve, reject) => {
const instance = new alertContructor({ data: options });
instance.$mount();
document.body.appendChild(instance.$el);
instance.handleSure = function () {
resolve();
instance.isShow = false;
};
instance.handleColse = function () {
reject();
instance.isShow = false;
};
});
};
export default myAlert;
3. main.js引入
import myAlert from './componts/alert/index'
Vue.prototype.$alert = myAlert;
4. 使用
created(){
this.$alert({
title: '用户须知',
message:'hellow'
})
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人