>  기사  >  웹 프론트엔드  >  vue.extend는 경고 모달 상자 팝업 구성 요소를 구현합니다.

vue.extend는 경고 모달 상자 팝업 구성 요소를 구현합니다.

不言
不言원래의
2018-06-29 11:37:501435검색

이 글에서는 경고 모달 상자 팝업 컴포넌트를 자세히 구현하기 위해 vue.extend를 주로 소개합니다. 관심 있는 친구들은 참고할 수 있습니다.

이 글에서는 Vue.extend를 사용하여 컴포넌트 생성자를 작성합니다. -up 구성 요소는 다음과 같습니다.

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 중국어 웹사이트를 주목해 주세요!

관련 권장 사항:

vue가 sass 전역 변수를 도입하는 방법 분석

vue-router를 사용하여 간단한 탐색 기능 완성

위 내용은 vue.extend는 경고 모달 상자 팝업 구성 요소를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.