首页 养生问答 疾病百科 养生资讯 女性养生 男性养生
您的当前位置:首页正文

vue.extend实现alert模态框弹窗步骤详解

2020-11-27 来源:华佗健康网

这次给大家带来vue.extend实现alert模态框弹窗步骤详解,vue.extend实现alert模态框弹窗的注意事项有哪些,下面就是实战案例,一起来看一下。

alert.js文件代码

import Vue from 'vue'
// 创建组件构造器
const alertHonor = Vue.extend(require('./alert.vue'));
var currentMsg = {callback:function(){
}}
export default function(options){
 var alertComponent = new alertHonor({el: document.createElement('p')});
 alertComponent.title = options.title;
 alertComponent.ranking = options.ranking;
 // 把alertHonor.vue加入body中
 alertComponent.$appendTo(document.body);
 // 回调函数
 alertComponent.callback = function(action) {
 if (action == 'share') {
 options.share();
 }
 };
}

alert.vue代码

<template>
 <p class="alertHonor" v-if="showAlertHonor">
 <p class="alertHonorBox" @click="alertHonorClick"></p>
 <p class="honorWindow">
 <p class="honorClose" @click="honorClose"></p>
 <p class="honorBg">
 <p class="honorShare">
 <p class="honorBgLeft">升级通知</p>
 <p class="honorBgRight" @click='handleActions("share")'>分享</p>
 </p>
 <p class="honorText">{{title}}</p>
 </p>
 <p class="honorRanking">
 {{ranking}}
 </p>
 </p>
 </p>
</template>
<script>
 export default{
 props:{
 img:{type:String}, //图片
 title:{type:String}, //达人昵称
 ranking:{type:String}, //排名
 share:{type:Function}, //分享
 },
 data(){
 return{
 showAlertHonor:true
 }
 },
 methods:{
 alertHonorClick(){ //点击其他区域
 this.showAlertHonor = false; //关闭整个窗口
 },
 honorClose(){ //点击关闭图标
 this.showAlertHonor = false;
 },
 handleActions(action){
 this.callback(action);
 }
 }
 }
</script>

引用页面代码

<script>
 import AlertHonor from '../alert.js'
 export default{
 data(){
 return{
 title:'我的荣誉'
 }
 },
 ready(){
 },
 methods:{
 back(){
 alert(1)
 },
 submit(){
 var vm = this;
 AlertHonor({
 
 title:'拜访达人',
 ranking:'您在全国排名第99',
 share: function(){
 vm.share();
 }
 });
 },
 share(){ //点击分享
 alert('分享');
 },
 }
 }
</script>

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

Vue实现PopupWindow组件使用步骤解析

vue弹窗组件使用步骤详解

显示全文