Heim  >  Artikel  >  Web-Frontend  >  vue.extend implementiert die Popup-Komponente „Alert Modal Box“.

vue.extend implementiert die Popup-Komponente „Alert Modal Box“.

不言
不言Original
2018-06-29 11:37:501435Durchsuche

In diesem Artikel wird hauptsächlich die von vue.extend implementierte Benachrichtigungs-Modalbox-Popup-Komponente ausführlich vorgestellt, die einen bestimmten Referenzwert hat.

Dieser Artikel verwendet die Methode von Vue.extend Beim Erstellen eines Komponentenkonstruktors wird eine Popup-Komponente als Referenz geschrieben. Der spezifische Inhalt lautet wie folgt:

alert.js-Dateicode

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-Code

<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=&#39;handleActions("share")&#39;>分享</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>

Referenzseitencode

<script>
  import AlertHonor from &#39;../alert.js&#39;
  export default{
    data(){
      return{
        title:&#39;我的荣誉&#39;
      }
    },
    ready(){
    },
    methods:{
      back(){
        alert(1)
      },
      submit(){
        var vm = this;
        AlertHonor({
          
          title:&#39;拜访达人&#39;,
          ranking:&#39;您在全国排名第99&#39;,
          share: function(){
            vm.share();
          }
        });
      },
      share(){ //点击分享
        alert(&#39;分享&#39;);
      },
    }
  }
</script>

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Analyse, wie Vue globale Sass-Variablen einführt

Verwenden Sie Vue-Router, um einfache Navigationsfunktionen abzuschließen

Das obige ist der detaillierte Inhalt vonvue.extend implementiert die Popup-Komponente „Alert Modal Box“.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn