이 글에서는 경고 모달 상자 팝업 컴포넌트를 자세히 구현하기 위해 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='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.extend는 경고 모달 상자 팝업 구성 요소를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!