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 开发规范要求(图文并茂)
Jun 11 Javascript
javascript ajax 仿百度分页函数
Oct 29 Javascript
JS、jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例分享
Apr 11 Javascript
javascript生成img标签的3种实现方法(对象、方法、html)
Dec 25 Javascript
基于angularjs实现图片放大镜效果
Aug 31 Javascript
在JavaScript中调用Java类和接口的方法
Sep 07 Javascript
jQuery中页面返回顶部的方法总结
Dec 30 Javascript
bootstrap vue.js实现tab效果
Feb 07 Javascript
微信小程序 支付功能实现PHP实例详解
May 12 Javascript
基于vue+ bootstrap实现图片上传图片展示功能
May 17 Javascript
jQuery实现QQ空间汉字转拼音功能示例
Jul 10 jQuery
小程序自定义组件实现城市选择功能
Jul 18 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水印
2007/03/16 PHP
yii gridview实现时间段筛选功能
2017/08/15 PHP
JS中处理与当前时间间隔的函数代码
2012/05/23 Javascript
jQuery中filter()和find()的区别深入了解
2013/09/25 Javascript
获取非最后一列td值并将title设为该值的方法
2013/10/30 Javascript
PHP开发者必须掌握的6个关键字
2014/04/14 Javascript
一行命令搞定node.js 版本升级
2014/07/20 Javascript
上传图片js判断图片尺寸和格式兼容IE
2014/09/01 Javascript
基于jQuery仿淘宝产品图片放大镜特效
2020/10/19 Javascript
微信小程序中子页面向父页面传值实例详解
2017/03/20 Javascript
socket.io学习教程之深入学习篇(三)
2017/04/29 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
js实现掷骰子小游戏
2019/10/24 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
Selenium执行JavaScript脚本的方法示例
2020/12/31 Javascript
在 Django/Flask 开发服务器上使用 HTTPS
2014/07/03 Python
Python实现获取某天是某个月中的第几周
2015/02/11 Python
使用Python中的线程进行网络编程的入门教程
2015/04/15 Python
Python处理JSON时的值报错及编码报错的两则解决实录
2016/06/26 Python
Python selenium 三种等待方式解读
2016/09/15 Python
Python程序中设置HTTP代理
2016/11/06 Python
Python 列表理解及使用方法
2017/10/27 Python
Python实现翻转数组功能示例
2018/01/12 Python
wxPython实现窗口用图片做背景
2018/04/25 Python
pyqt5实现俄罗斯方块游戏
2019/01/11 Python
Python中函数的基本定义与调用及内置函数详解
2019/05/13 Python
Python的条件锁与事件共享详解
2019/09/12 Python
CSS3使用transition属性实现过渡效果
2018/04/18 HTML / CSS
ALLSAINTS英国官网:伦敦新锐潮流品牌
2016/09/19 全球购物
Otticanet美国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
新学期校长寄语
2014/01/18 职场文书
慈善晚会策划方案
2014/05/14 职场文书
公司人力资源管理制度
2015/08/05 职场文书
2016年党员岗位承诺书
2016/03/24 职场文书
Java实战之课程信息管理系统的实现
2022/04/01 Java/Android
vue css 相对路径导入问题级踩坑记录
2022/06/05 Vue.js