WordPress

推荐列表 站点导航

当前位置:首页 > 建站教程 > WordPress >

Vue自定义全局弹窗组件操作

来源:网络整理  作者:  发布时间:2020-12-18 12:37
页面中会有很多时候需要弹窗提示,我们可以写一个弹窗组件,但是如果每个页面都引入这个组件,太麻烦了,所以...

name: 'app',

新建一个弹窗的组件——popup.vue

align-items: center;

instance.show = true

z-index: 10;

click: ''

title: '我是标题',

方便以后自己使用,大家也可以参考哦,也希望大家多多支持,谢谢~~

width:23/75remx;

}

this.show = false

组件中使用方法

margin-top: 34/75rem;

import Popup from './components/dialog/popup'

.shadow{

Vue自定义全局弹窗组件操作 (https://www.wpmee.com/) javascript教程 第1张

.window{

width: 100%;

}

<script>

}

Vue.nextTick(() => {

imgUrl: '',

width: 270/75rem;

line-height:40/75rem;

</template>

},

export default Popup  

data () {

}

}

.fade-leave-active {

opacity: 0;

}).$mount()

},

}

})

页面中会有很多时候需要弹窗提示,我们可以写一个弹窗组件,但是如果每个页面都引入这个组件,太麻烦了,所以我们将它变成全局组件,需要用的时候直接通过JS调用即可,不需要在每个页面引入了

button{

<img @click="show = false" v-fb src="" alt="">

p{

<img :src="imgUrl" alt="">

btnClick () {

export default {

margin-top: 32/75rem;

.close{

this.$router.push('……')

width:60/75rem;

</script>

// 自定义全局弹窗组件

popup.js文件

content: '',

import Vue from 'vue'

background: #fff;

@import "../../../assets/css/pixel/pixel";

color:#f1300b;

}

.fade-leave-active {

background:#f95644;

btnText: '',

background:rgba(0,0,0,0.65);

content: '我是内容',

}

imgUrl: require('../../../static/images/shadow.png'), // 顶部图片

</style>  

}

border-radius:10px;

弹窗组件

font-size:32/75rem;

height:64/75rem;

}

const PopupBox = Vue.extend(Popup)

}

color:#222222;

return {

margin-top: -90/75rem;

<transition>

main.js引入popup.js

show: false,

// show 和弹窗组件里的show对应,用于控制显隐

新建一个popup.js文件,写方法

flex-direction: column;

}

color:#ffffff;

line-height:32/75rem;

Vue.prototype.$popup = Popup.install  

}

font-size:28/75rem;

methods: {

<template>

click: () => {

this.$popup({

.fade-enter,

<p>{{content}}</p>

btnText: '我是按钮',

<h1>{{title}}</h1>

this.click()

}

效果图

Popup.install = function (data) {

transition: opacity .35s;

display: flex;

<style lang="less" scoped>

data

<div v-if="show" @touchmove.prevent>

created () {

border-radius:8px;

})

height:60/75rem;

padding: 75/75rem;

methods: {

Vue自定义全局弹窗组件操作 (https://www.wpmee.com/) javascript教程 第2张

font-size:28/75rem;

let instance = new PopupBox({

margin-top: 32/75rem;

document.body.appendChild(instance.$el)

</div>

@import "../../../assets/css/minx/minx";

title: '',

margin-top: 40/75rem;

import Vue from 'vue'

text-align: center;

}

// 渐变过渡

}

<div>

</div>

.fade-enter-active,

btnClick () {

.mask {

h1{

}  

height: 400/75rem;

<button @click="btnClick">{{btnText}}</button>

justify-content: center;

font-weight: 600;

// 全局弹窗

<!-- 蒙版 -->

.fixed;

// 点击按钮事件

import Popup from './popup.vue'

</transition>

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jz/wp/5188.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

Vue自定义全局弹窗组件操作

2020-12-18 编辑:

name: 'app',

新建一个弹窗的组件——popup.vue

align-items: center;

instance.show = true

z-index: 10;

click: ''

title: '我是标题',

方便以后自己使用,大家也可以参考哦,也希望大家多多支持,谢谢~~

width:23/75remx;

}

this.show = false

组件中使用方法

margin-top: 34/75rem;

import Popup from './components/dialog/popup'

.shadow{

Vue自定义全局弹窗组件操作 (https://www.wpmee.com/) javascript教程 第1张

.window{

width: 100%;

}

<script>

}

Vue.nextTick(() => {

imgUrl: '',

width: 270/75rem;

line-height:40/75rem;

</template>

},

export default Popup  

data () {

}

}

.fade-leave-active {

opacity: 0;

}).$mount()

},

}

})

页面中会有很多时候需要弹窗提示,我们可以写一个弹窗组件,但是如果每个页面都引入这个组件,太麻烦了,所以我们将它变成全局组件,需要用的时候直接通过JS调用即可,不需要在每个页面引入了

button{

<img @click="show = false" v-fb src="" alt="">

p{

<img :src="imgUrl" alt="">

btnClick () {

export default {

margin-top: 32/75rem;

.close{

this.$router.push('……')

width:60/75rem;

</script>

// 自定义全局弹窗组件

popup.js文件

content: '',

import Vue from 'vue'

background: #fff;

@import "../../../assets/css/pixel/pixel";

color:#f1300b;

}

.fade-leave-active {

background:#f95644;

btnText: '',

background:rgba(0,0,0,0.65);

content: '我是内容',

}

imgUrl: require('../../../static/images/shadow.png'), // 顶部图片

</style>  

}

border-radius:10px;

弹窗组件

font-size:32/75rem;

height:64/75rem;

}

const PopupBox = Vue.extend(Popup)

}

color:#222222;

return {

margin-top: -90/75rem;

<transition>

main.js引入popup.js

show: false,

// show 和弹窗组件里的show对应,用于控制显隐

新建一个popup.js文件,写方法

flex-direction: column;

}

color:#ffffff;

line-height:32/75rem;

Vue.prototype.$popup = Popup.install  

}

font-size:28/75rem;

methods: {

<template>

click: () => {

this.$popup({

.fade-enter,

<p>{{content}}</p>

btnText: '我是按钮',

<h1>{{title}}</h1>

this.click()

}

效果图

Popup.install = function (data) {

transition: opacity .35s;

display: flex;

<style lang="less" scoped>

data

<div v-if="show" @touchmove.prevent>

created () {

border-radius:8px;

})

height:60/75rem;

padding: 75/75rem;

methods: {

Vue自定义全局弹窗组件操作 (https://www.wpmee.com/) javascript教程 第2张

font-size:28/75rem;

let instance = new PopupBox({

margin-top: 32/75rem;

document.body.appendChild(instance.$el)

</div>

@import "../../../assets/css/minx/minx";

title: '',

margin-top: 40/75rem;

import Vue from 'vue'

text-align: center;

}

// 渐变过渡

}

<div>

</div>

.fade-enter-active,

btnClick () {

.mask {

h1{

}  

height: 400/75rem;

<button @click="btnClick">{{btnText}}</button>

justify-content: center;

font-weight: 600;

// 全局弹窗

<!-- 蒙版 -->

.fixed;

// 点击按钮事件

import Popup from './popup.vue'

</transition>

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jz/wp/5188.shtml

相关文章

风云图片

推荐阅读

返回WordPress频道首页