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 相关文章推荐
用javascript实现点击链接弹出&quot;图片另存为&quot;而不是直接打开
Aug 15 Javascript
JQuery 选项卡效果(JS与HTML的分离)
Apr 01 Javascript
JS 面向对象之神奇的prototype
Feb 26 Javascript
Jquery中getJSON在asp.net中的使用说明
Mar 10 Javascript
JS无法捕获滚动条上的mouse up事件的原因猜想
Mar 21 Javascript
js中传递特殊字符(+,&amp;)的方法
Jan 16 Javascript
javascript文件加载管理简单实现方法
Jul 25 Javascript
微信小程序开发之map地图实现教程
Jun 08 Javascript
vue+webpack实现异步加载三种用法示例详解
Apr 24 Javascript
layui table 复选框跳页后再回来保持原来选中的状态示例
Oct 26 Javascript
Vue页面切换和a链接的本质区别详解
Nov 12 Javascript
Vue 解决通过this.$refs来获取DOM或者组件报错问题
Jul 28 Javascript
总结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使用pack处理二进制文件的方法
2014/07/03 PHP
PHP清除数组中所有字符串两端空格的方法
2014/10/20 PHP
php开发微信支付获取用户地址
2015/10/04 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
2016/10/10 PHP
基于jQuery的history历史记录插件
2010/12/11 Javascript
jquery使用remove()方法删除指定class子元素
2015/03/26 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
BootStrop前端框架入门教程详解
2016/12/25 Javascript
jQuery简单实现MD5加密的方法
2017/03/03 Javascript
详解Vue2 无限级分类(添加,删除,修改)
2017/03/07 Javascript
深入浅出es6模板字符串
2017/08/26 Javascript
AngularJs用户登录问题处理(交互及验证、阻止FQ处理)
2017/10/26 Javascript
Angular2开发环境搭建教程之VS Code
2017/12/15 Javascript
javaScript中的空值和假值
2017/12/18 Javascript
基于vue中对鼠标划过事件的处理方式详解
2018/08/22 Javascript
使用express获取微信小程序二维码小记
2019/05/21 Javascript
如何在Vue中抽离接口配置文件
2019/10/31 Javascript
taro 实现购物车逻辑的实例代码
2020/06/05 Javascript
基于原生js实现判断元素是否有指定class名
2020/07/11 Javascript
再也不怕 JavaScript 报错了,怎么看怎么处理都在这儿
2020/12/09 Javascript
python访问系统环境变量的方法
2015/04/29 Python
分析Python读取文件时的路径问题
2018/02/11 Python
利用Python读取txt文档的方法讲解
2018/06/23 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
2020/01/19 Python
Python sklearn中的.fit与.predict的用法说明
2020/06/28 Python
如何用Python进行时间序列分解和预测
2021/03/01 Python
关于canvas.toDataURL 在iOS运行失败的问题解决
2020/09/16 HTML / CSS
纪伊国屋泰国网上书店:Kinokuniya泰国
2017/12/24 全球购物
Prototype中如何为一个元素添加一个方法
2014/12/08 面试题
中专毕业自我鉴定
2013/10/16 职场文书
学生安全教育材料
2014/02/14 职场文书
教师一帮一活动总结
2014/07/08 职场文书
孝敬父母的活动方案
2014/08/31 职场文书
董事长秘书工作总结
2015/08/14 职场文书
2016年九九重阳节活动总结
2016/04/01 职场文书