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 控制 html元素 显示/隐藏实现代码
Sep 01 Javascript
js 操作select和option常用代码整理
Dec 13 Javascript
JQuery中extend使用介绍
Mar 13 Javascript
3种Jquery限制文本框只能输入数字字母的方法
Dec 03 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
Oct 23 Javascript
Boostrap模态窗口的学习小结
Mar 28 Javascript
浅析JS原型继承与类的继承
Apr 07 Javascript
javascript实现简单的on事件绑定
Aug 23 Javascript
Bootstrap table右键功能实现方法
Feb 20 Javascript
原生JS实现不断变化的标签
May 22 Javascript
vue-cli3.0配置及使用注意事项详解
Sep 05 Javascript
Vue监听数据渲染DOM完以后执行某个函数详解
Sep 11 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
ThinkPHP之A方法实例讲解
2014/06/20 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
了解PHP的返回引用和局部静态变量
2015/06/04 PHP
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
2017/03/13 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
js鼠标左右键 键盘值小结
2010/06/11 Javascript
JavaScript设计模式之单例模式实例
2014/09/24 Javascript
JavaScript取得WEB安全颜色列表的方法
2015/07/14 Javascript
JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
2016/04/29 Javascript
JavaScript的模块化开发框架Sea.js上手指南
2016/05/12 Javascript
Javascript获取随机数的实现方法
2016/06/22 Javascript
关于JSON与JSONP简单总结
2016/08/16 Javascript
微信js-sdk地理位置接口用法示例
2016/10/12 Javascript
jquery-mobile基础属性与用法详解
2016/11/23 Javascript
jquery实现(textarea)placeholder自动换行
2016/12/22 Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
2017/01/04 Javascript
JS检测数组类型的方法小结
2017/03/14 Javascript
Vue的MVVM实现方法
2017/08/16 Javascript
JS库之Highlight.js的用法详解
2017/09/13 Javascript
vxe-table vue table 表格组件功能
2019/05/26 Javascript
JS数组进阶示例【数组的几种函数用法】
2020/01/16 Javascript
[01:28]2014DOTA2国际邀请赛中国区预选赛四大豪门直升机抵达会场
2014/05/24 DOTA
python str与repr的区别
2013/03/23 Python
常见的在Python中实现单例模式的三种方法
2015/04/08 Python
Python探索之pLSA实现代码
2017/10/25 Python
python实现单链表中删除倒数第K个节点的方法
2018/09/28 Python
pandas 转换成行列表进行读取与Nan处理的方法
2018/10/30 Python
Python插入Elasticsearch操作方法解析
2020/01/19 Python
python 模拟登陆github的示例
2020/12/04 Python
CSS3过渡transition效果实例介绍
2016/05/03 HTML / CSS
列车长先进事迹材料
2014/01/25 职场文书
审计主管岗位职责
2014/01/31 职场文书
社区健康教育实施方案
2014/03/18 职场文书
健康教育评估方案
2014/05/25 职场文书
运动会报道稿300字
2014/10/02 职场文书
铁拳制作人赞《铁拳7》老头环Mod:制作精良 但别弄了
2022/04/03 其他游戏