您的位置:

Vue弹窗加载另一个页面

一、从Vue按钮弹窗独立页面

在Vue中,我们通常使用组件实现弹窗的功能。如果我们需要在弹窗中加载另一个页面,可以通过以下步骤实现。

首先,在Vue中创建一个组件用于弹窗,例如:

<template>
  <div class="popup">
    <h2>弹窗标题</h2>
    <p>弹窗内容</p>
  </div>
</template>

<script>
export default {
  name: 'Popup',
  data () {
    return {
      visible: false
    }
  }
}
</script>

<style>
.popup {
  width: 300px;
  height: 200px;
  background: #fff;
  border: 1px solid #ccc;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;
}
</style>

接下来,在Vue组件中引入iframe标签,并将其嵌入到弹窗中,例如:

<template>
  <div class="popup">
    <h2>弹窗标题</h2>
    <iframe :src="url"></iframe>
  </div>
</template>

<script>
export default {
  name: "Popup",
  data() {
    return {
      visible: false,
      url: '' // 另一个页面的URL地址
    }
  }
}
</script>

<style>
.popup {
  width: 800px;
  height: 600px;
  background: #fff;
  border: 1px solid #ccc;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;
}

.popup iframe {
  width: 100%;
  height: 100%;
  border: none;
}
</style>

这样就可以从Vue按钮弹出一个独立的页面。

二、Vue页面弹窗太多如何处理

当我们的Vue页面中弹窗过多时,程序的性能可能会受到影响。此时,我们可以考虑使用Vue插件或第三方库来管理弹窗。

例如,可以使用vue-js-modal插件实现弹窗管理。以下是使用vue-js-modal插件的示例:

<template>
  <div>
    <button @click="showModal">显示弹窗</button>
    <modal v-model="show" :clickToClose="false">
      <h2>弹窗标题</h2>
        <iframe :src="url"></iframe>
    </modal>
  </div>
</template>

<script>
import VModal from 'vue-js-modal'

export default {
  name: 'App',
  data () {
    return {
      show: false,
      url: '' // 另一个页面的URL地址
    }
  },
  methods: {
    showModal () {
      this.show = true
    }
  },
  components: {
    Modal: VModal
  }
}
</script>

这样,我们就可以方便地管理Vue页面中的弹窗,大大提高程序的性能。

三、Vue关闭弹窗刷新父页面

在Vue中,如果我们需要在关闭弹窗的同时刷新父页面,可以使用以下方法。

首先,在父页面中传递一个刷新函数给子页面,例如:

<template>
  <div>
    <button @click="showModal">显示弹窗</button>
    <popup :show.sync="showPopup" :refresh="refresh"></popup>
  </div>
</template>

<script>
import Popup from './Popup'

export default {
  name: 'App',
  data () {
    return {
      showPopup: false
    }
  },
  methods: {
    showModal () {
      this.showPopup = true
    },
    refresh () {
      // 刷新父页面
      location.reload()
    }
  },
  components: {
    Popup
  }
}
</script>

接着,在子页面中获取父页面传递的刷新函数,并在关闭弹窗时调用该函数刷新父页面,例如:

<template>
  <div class="popup">
    <h2>弹窗标题</h2>
    <iframe :src="url"></iframe>
    <button @click="$emit('close')">关闭弹窗</button>
  </div>
</template>

<script>
export default {
  name: 'Popup',
  props: ['show', 'refresh'],
  data () {
    return {
      url: '' // 另一个页面的URL地址
    }
  },
  watch: {
    show (newVal, oldVal) {
      // 监听弹窗显示状态,如果关闭弹窗则刷新父页面
      if (!newVal && oldVal) {
        this.refresh()
      }
    }
  }
}
</script>

<style>
.popup {
  width: 800px;
  height: 600px;
  background: #fff;
  border: 1px solid #ccc;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;
}

.popup iframe {
  width: 100%;
  height: 100%;
  border: none;
}
</style>

这样,每当我们关闭弹窗时,都会刷新父页面。

Vue弹窗加载另一个页面

2023-05-17
网页懒加载js,html懒加载

本文目录一览: 1、图片懒加载和预加载 2、网页加载很慢JS或jquery堵塞,导致很久才弹出窗口 3、Vue.js中能使用vue-router + webpack 实现懒加载吗 4、网页打开很慢,加

2023-12-08
怎么抽取网页整理,怎么抽取网页整理数据

2023-01-08
ios连接websocketjs(ios连接wifi不弹出登

本文目录一览: 1、IOS系统苹果手机 WebSocket无法连接的问题 2、Js WebSocket 3、iOS使用Charles代理抓包WebSocket连接 4、怎样在iOS中使用websock

2023-12-08
js调另一界面php(js当前窗口打开另一个页面)

本文目录一览: 1、js怎么调用另一个页面的内容? 2、html如何通过js脚本调用显示一个php页面的内容? 3、如何在js中调用php 4、php如何调用js或者另外一个php页面列表 js怎么调

2023-12-08
vue页面加载完毕调用函数的实现方法

2023-05-19
发篇java复习笔记(java课程笔记)

2022-11-09
Vue页面加载优化:如何让页面更快加载?

2023-05-17
Selenium弹窗处理全面指南

2023-05-17
java学习笔记(java初学笔记)

2022-11-14
java方法整理笔记(java总结)

2022-11-08
如何优化Vue应用中的弹窗确认框

2023-05-16
ajax弹窗样式php(ajax弹出窗口)

2022-11-12
Vue懒加载及其实现原理

2023-05-17
layer弹窗的详细介绍

2023-05-19
java弹窗,java弹窗提示代码可以加图片吗

2023-01-05
超nb的网页标签弹窗js代码(超nb的网页标签弹窗js代码是

本文目录一览: 1、有一段非常NB的JS代码 2、网页弹出个框框源码 3、怎样通过js做一个无限弹窗的网页 有一段非常NB的JS代码 首先不说你理解不理解的问题,这段代码本身就写得很烂……这种css和

2023-12-08
印象笔记记录java学习(Java成长笔记)

2022-11-12
用Vue实现页面加载动画效果

2023-05-19
htmljs编程笔记(html代码笔记)

本文目录一览: 1、html代码和JS代码有什么区别 2、如何在html中调用js函数 3、JavaScript学习笔记之数组基本操作示例 4、HTML5初学者笔记 5、《web前端笔记7》js字符—

2023-12-08