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 相关文章推荐
学习YUI.Ext第五日--做拖放Darg&amp;Drop
Mar 10 Javascript
让textarea自动调整大小的js代码
Apr 12 Javascript
javascript对select标签的控制(option选项/select)
Jan 31 Javascript
JavaScript网页定位详解
Jan 13 Javascript
JS的get和set使用示例
Feb 20 Javascript
JS兼容浏览器的导出Excel(CSV)文件的方法
May 03 Javascript
JavaScript使用DeviceOne开发实战(二) 生成调试安装包
Dec 01 Javascript
js console.log打印对像与数组用法详解
Jan 21 Javascript
js多功能分页组件layPage使用方法详解
May 19 Javascript
Backbone View 之间通信的三种方式
Aug 09 Javascript
JavaScript ES2019中的8个新特性详解
Feb 20 Javascript
基于Proxy的小程序状态管理实现
Jun 14 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
php5.2时间相差8小时
2007/01/15 PHP
jquery插件实现鼠标经过图片右侧显示大图的效果(类似淘宝)
2013/02/04 Javascript
JS中Location使用详解
2015/05/12 Javascript
浅谈JavaScript 数据属性和访问器属性
2016/09/01 Javascript
Vue.js每天必学之方法与事件处理器
2016/09/06 Javascript
js判断浏览器是否支持严格模式的方法
2016/10/04 Javascript
jQuery.ajax向后台传递数组问题的解决方法
2017/05/12 jQuery
Vue.js中extend选项和delimiters选项的比较
2017/07/17 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
2018/09/12 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
2018/10/01 Javascript
Vue.js 图标选择组件实践详解
2018/12/03 Javascript
vue.js中使用微信扫一扫解决invalid signature问题(完美解决)
2020/04/11 Javascript
vue created钩子函数与mounted钩子函数的用法区别
2020/11/05 Javascript
[57:18]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#3VP VS VG
2016/03/03 DOTA
[03:40]DOTA2抗疫特别篇《英雄年代》
2020/02/28 DOTA
python实现划词翻译
2020/04/23 Python
python之PyMongo使用总结
2017/05/26 Python
Python升级导致yum、pip报错的解决方法
2017/09/06 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
2018/03/22 Python
Pandas 合并多个Dataframe(merge,concat)的方法
2018/06/08 Python
python中的json总结
2018/10/11 Python
python使用adbapi实现MySQL数据库的异步存储
2019/03/19 Python
Python异步操作MySQL示例【使用aiomysql】
2019/05/16 Python
python模拟菜刀反弹shell绕过限制【推荐】
2019/06/25 Python
Python 实现向word(docx)中输出
2020/02/13 Python
基于python实现简单网页服务器代码实例
2020/09/14 Python
世界上最大的艺术和工艺用品商店:MisterArt.com
2018/07/13 全球购物
.net工程师笔试题
2012/06/09 面试题
GWT的应用有哪两种部署模式
2012/12/21 面试题
简历中个人自我评价范文
2013/12/26 职场文书
学校党的群众路线教育实践活动总结报告
2014/07/03 职场文书
2014年师德师风自我剖析材料
2014/09/27 职场文书
大学毕业生自我评价
2015/03/02 职场文书
2016情人节宣传语
2015/07/14 职场文书
python基础学习之递归函数知识总结
2021/05/26 Python
如何用RabbitMQ和Swoole实现一个异步任务系统
2021/05/29 PHP