• 技术文章 >web前端 >js教程

    如何使用vue.extend实现alert模态框弹窗组件

    php中世界最好的语言php中世界最好的语言2018-06-01 17:23:43原创1404
    这次给大家带来如何使用vue.extend实现alert模态框弹窗组件,使用vue.extend实现alert模态框弹窗组件的注意事项有哪些,下面就是实战案例,一起来看一下。

    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('p')});
      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>
      <p class="alertHonor" v-if="showAlertHonor">
        <p class="alertHonorBox" @click="alertHonorClick"></p>
        <p class="honorWindow">
          <p class="honorClose" @click="honorClose"></p>
          <p class="honorBg">
            <p class="honorShare">
              <p class="honorBgLeft">升级通知</p>
              <p class="honorBgRight" @click='handleActions("share")'>分享</p>
            </p>
            <p class="honorText">{{title}}</p>
          </p>
          <p class="honorRanking">
            {{ranking}}
          </p>
        </p>
      </p>
    </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>

    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:

    如何使用Vue实现点击时间获取时间段查询

    如何使用vue弹窗消息组件

    以上就是如何使用vue.extend实现alert模态框弹窗组件的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:vue.extend alert 实现
    上一篇:如何使用vue组件实现弹出框点击显示隐藏 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 浅析Angular中的Change Detection机制• 浅析Angular变更检测中的订阅异步事件• 一文聊聊node中的path模块• 一文带你深入了解Node中的Buffer类• Angular中什么是变更检测?什么情况下会引起变更检测?
    1/1

    PHP中文网