时间:2021-05-26
本文通过Vue.extend创建组件构造器的方法写弹窗组件,供大家参考,具体内容如下
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('div')}); 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> <div class="alertHonor" v-if="showAlertHonor"> <div class="alertHonorBox" @click="alertHonorClick"></div> <div class="honorWindow"> <div class="honorClose" @click="honorClose"></div> <div class="honorBg"> <div class="honorShare"> <div class="honorBgLeft">升级通知</div> <div class="honorBgRight" @click='handleActions("share")'>分享</div> </div> <div class="honorText">{{title}}</div> </div> <div class="honorRanking"> {{ranking}} </div> </div> </div></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>引用页面代码
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1.使用Vue.extend创建全局的Vue组件//1.1使用vue.extend创建组件varcom1=Vue.extend({//通过template属性指
模态框是我们UI控件中一个很重要的组件,使用场景有很多种,我们在Vue组件中创建模态框组件而用到的一个知识点是利用Vue.extend来创建。文档中的解释是在最
创建组件的两种方法小结1.全局注册2.局部注册varchild=Vue.extend({})varparent=Vue.extend({})Vue.extend
下面讲一下如何定义动态组件。Vue.extend思路就是拿到组件的构造函数,这样我们就可以new了。而Vue.extend可以做到:https://cn.vue
Vue.extend构造器的详解1.简单介绍Vue.extend(options)参数:对象用法:使用Vue构造器,创建一个“子类”,参数是一个包含组件选项的对