虚位以待(AD)
虚位以待(AD)
首页 > 网页特效 > JavaScript > vue.extend实现alert模态框弹窗组件

vue.extend实现alert模态框弹窗组件
类别:JavaScript   作者:码皇   来源:互联网   点击:

这篇文章主要为大家详细介绍了vue extend实现alert模态框弹窗组件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文通过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>

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

您可能感兴趣的文章:

  • vue实现模态框的通用写法推荐
  • Vue.js弹出模态框组件开发的示例代码
  • 利用vue实现模态框组件
  • vue中的模态对话框组件实现过程
相关热词搜索: vue extend alert 弹窗组件