ホームページ  >  記事  >  ウェブフロントエンド  >  vue.extend はアラート モーダル ボックス ポップアップ コンポーネントを実装します

vue.extend はアラート モーダル ボックス ポップアップ コンポーネントを実装します

不言
不言オリジナル
2018-06-29 11:37:501435ブラウズ

この記事では、アラートモーダルボックスのポップアップコンポーネントを実装するための vue.extend について詳しく紹介します。興味のある方は参考にしてください。

この記事では、Vue.extend を使用してコンポーネントのコンストラクターを作成します。 -up window コンポーネントの具体的な内容は以下の通りです

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=&#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>

参考ページコード

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

以上がこの記事の全内容です。皆さんの学習に役立ちます。その他の関連コンテンツについては、PHP 中国語 Web サイトに注目してください。

関連する推奨事項:

vue が sass グローバル変数を導入する方法の分析

vue-router を使用して単純なナビゲーション機能を完成させる

以上がvue.extend はアラート モーダル ボックス ポップアップ コンポーネントを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。