vue.extend实现alert模态框弹窗组件


Posted in Javascript onApril 28, 2018

本文通过Vue.extend创建组件构造器的方法写弹窗组件,供大家参考,具体内容如下

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('div')});
  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>
  <div class="alertHonor" v-if="showAlertHonor">
    <div class="alertHonorBox" @click="alertHonorClick"></div>
    <div class="honorWindow">
      <div class="honorClose" @click="honorClose"></div>
      <div class="honorBg">
        <div class="honorShare">
          <div class="honorBgLeft">升级通知</div>
          <div class="honorBgRight" @click='handleActions("share")'>分享</div>
        </div>
        <div class="honorText">{{title}}</div>
      </div>
      <div class="honorRanking">
        {{ranking}}
      </div>
    </div>
  </div>
</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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery选择头像并实时显示的代码
Jun 27 Javascript
jquery阻止冒泡事件使用模拟事件
Sep 06 Javascript
JavaScrip实现PHP print_r的数功能(三种方法)
Nov 12 Javascript
jquery easyui combobox模糊过滤(示例代码)
Nov 30 Javascript
JavaScript中用sort()方法对数组元素进行排序的操作
Jun 09 Javascript
IE7浏览器窗口大小改变事件执行多次bug及IE6/IE7/IE8下resize问题
Aug 21 Javascript
jquery ui dialog替代confirm实例分析
Jan 25 Javascript
AngularJS实现DOM元素的显示与隐藏功能
Nov 22 Javascript
理解Koa2中的async&amp;await的用法
Feb 05 Javascript
使用NestJS开发Node.js应用的方法
Dec 03 Javascript
JS继承实现方法及优缺点详解
Sep 02 Javascript
jquery插件懒加载的示例
Oct 24 jQuery
总结JavaScript在IE9之前版本中内存泄露问题
Apr 28 #Javascript
vue-baidu-map 进入页面自动定位的解决方案(推荐)
Apr 28 #Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
Apr 28 #Javascript
React native ListView 增加顶部下拉刷新和底下点击刷新示例
Apr 27 #Javascript
React Native日期时间选择组件的示例代码
Apr 27 #Javascript
vue实现点击展开点击收起效果
Apr 27 #Javascript
vue中post请求以a=a&amp;b=b 的格式写遇到的问题
Apr 27 #Javascript
You might like
php中经典方法实现判断多维数组是否为空
2011/10/23 PHP
PHP实现批量修改文件后缀名的方法
2015/07/30 PHP
PHP Socket网络操作类定义与用法示例
2017/08/30 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
php和js实现根据子网掩码和ip计算子网功能示例
2019/11/09 PHP
PHP 构造函数和析构函数原理与用法分析
2020/04/21 PHP
JavaScript 基础问答三
2008/12/03 Javascript
30个最好的jQuery 灯箱插件分享
2011/04/25 Javascript
node.js中的fs.readdirSync方法使用说明
2014/12/17 Javascript
jQuery实现页面内锚点平滑跳转特效的方法总结
2015/05/11 Javascript
AngularJS Module方法详解
2015/12/08 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
2016/01/28 Javascript
jquery自定义右键菜单、全选、不连续选择
2016/03/01 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
JavaScript SHA1加密算法实现详细代码
2016/10/06 Javascript
Vue组件选项props实例详解
2017/08/18 Javascript
axios拦截设置和错误处理方法
2018/03/05 Javascript
JavaScript基础心法 深浅拷贝(浅拷贝和深拷贝)
2018/03/05 Javascript
vue+layui实现select动态加载后台数据的例子
2019/09/20 Javascript
python追加元素到列表的方法
2015/07/28 Python
JSON Web Tokens的实现原理
2017/04/02 Python
python实现KNN分类算法
2019/10/16 Python
python实现超市商品销售管理系统
2019/10/25 Python
Django Serializer HiddenField隐藏字段实例
2020/03/31 Python
用python实现学生管理系统
2020/07/24 Python
sqlalchemy实现时间列自动更新教程
2020/09/02 Python
pycharm远程连接服务器并配置python interpreter的方法
2020/12/23 Python
webView加载html图片遇到的问题解决
2019/10/08 HTML / CSS
汽车专业毕业生自荐信
2013/11/03 职场文书
个人求职信范文分享
2014/01/06 职场文书
我的动漫时代的创业计划书范文
2014/01/27 职场文书
大学专科求职信
2014/07/02 职场文书
幼儿园大班教师个人工作总结
2015/02/05 职场文书
导游词之黄果树瀑布
2019/09/20 职场文书
JavaScript分页组件使用方法详解
2021/07/26 Javascript
如何解决goland,idea全局搜索快捷键失效问题
2022/04/03 Golang