如何实现Vue中子组件弹窗打开时页面不刷新的功能?

更新于
2026-09-23 18:32:23
1阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计527个文字,预计阅读时间需要3分钟。

如何实现Vue中子组件弹窗打开时页面不刷新的功能?

Vue中如何实现打开子组件弹窗都刷新?在父页面中给子组件绑定:visible.sync和v-if,同时设置:visible.sync=paramAddDialog 和 v-if=paramAddDialog

整体代码:

vue如何一打开子组件弹窗都刷新?

在父页面中给子组件同时绑定:visible.sync和v-if

如何实现Vue中子组件弹窗打开时页面不刷新的功能?

:visible.sync="paramAddDialog" v-if="paramAddDialog"

整体代码:

<el-dialog title="绑定其他更多的账户" width="1200px" align="center" :visible.sync="paramAddDialog" v-if="paramAddDialog"> <addParamForm ref="addParam" @boundSuccess="boundSuccess" @cancelBound="paramAddDialog=false"/> </el-dialog>

OK:

PS:下面看下VUE 父组件调用子组件弹窗

想搞一个新增编辑弹窗,和列表页面分开

先来一个父组件调用子组件弹窗的demo

父组件

<template> <div> <el-button @click="show">按钮</el-button> <!-- 新增编辑弹框子组件 --> <add-or-update :addOrUpdateVisible="addOrUpdateVisible" @changeShow="showAddOrUpdate" ref="addOrUpdateRef"></add-or-update> </div> </template> <script> // 引入子组件 import AddOrUpdate from './Edit' export default { data(){ return{ // 控制新增编辑弹窗的显示与隐藏 addOrUpdateVisible: false } }, // 使用子组件 components:{ AddOrUpdate }, methods:{ // 按钮点击事件 显示新增编辑弹窗组件 show(){ this.addOrUpdateVisible = true }, // 监听 子组件弹窗关闭后触发,有子组件调用 showAddOrUpdate(data){ if(data === 'false'){ this.addOrUpdateVisible = false }else{ this.addOrUpdateVisible = true } } } } </script>

子组件:

<template> <el-dialog title="提示" :visible.sync="showDialog" width="50%" @close="handleClose"> <span>这是一段信息</span> <span slot="footer" class="dialog-footer"> <el-button @click="showDialog = false">取 消</el-button> <el-button type="primary" @click="showDialog = false">确 定</el-button> </span> </el-dialog> </template> <script> export default { // 接受父组件传递的值 props:{ addOrUpdateVisible:{ type: Boolean, default: false } }, data(){ return{ // 控制弹出框显示隐藏 showDialog:false } }, methods:{ // 弹出框关闭后触发 handleClose(){ // 子组件调用父组件方法,并传递参数 this.$emit('changeShow','false') } }, watch:{ // 监听 addOrUpdateVisible 改变 addOrUpdateVisible(oldVal,newVal){ this.showDialog = this.addOrUpdateVisible }, } } </script> <style lang="less" scoped> </style>

总结

到此这篇关于vue打开子组件弹窗都刷新功能的实现的文章就介绍到这了,更多相关vue打开子组件弹窗都刷新内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

标签:实现

本文共计527个文字,预计阅读时间需要3分钟。

如何实现Vue中子组件弹窗打开时页面不刷新的功能?

Vue中如何实现打开子组件弹窗都刷新?在父页面中给子组件绑定:visible.sync和v-if,同时设置:visible.sync=paramAddDialog 和 v-if=paramAddDialog

整体代码:

vue如何一打开子组件弹窗都刷新?

在父页面中给子组件同时绑定:visible.sync和v-if

如何实现Vue中子组件弹窗打开时页面不刷新的功能?

:visible.sync="paramAddDialog" v-if="paramAddDialog"

整体代码:

<el-dialog title="绑定其他更多的账户" width="1200px" align="center" :visible.sync="paramAddDialog" v-if="paramAddDialog"> <addParamForm ref="addParam" @boundSuccess="boundSuccess" @cancelBound="paramAddDialog=false"/> </el-dialog>

OK:

PS:下面看下VUE 父组件调用子组件弹窗

想搞一个新增编辑弹窗,和列表页面分开

先来一个父组件调用子组件弹窗的demo

父组件

<template> <div> <el-button @click="show">按钮</el-button> <!-- 新增编辑弹框子组件 --> <add-or-update :addOrUpdateVisible="addOrUpdateVisible" @changeShow="showAddOrUpdate" ref="addOrUpdateRef"></add-or-update> </div> </template> <script> // 引入子组件 import AddOrUpdate from './Edit' export default { data(){ return{ // 控制新增编辑弹窗的显示与隐藏 addOrUpdateVisible: false } }, // 使用子组件 components:{ AddOrUpdate }, methods:{ // 按钮点击事件 显示新增编辑弹窗组件 show(){ this.addOrUpdateVisible = true }, // 监听 子组件弹窗关闭后触发,有子组件调用 showAddOrUpdate(data){ if(data === 'false'){ this.addOrUpdateVisible = false }else{ this.addOrUpdateVisible = true } } } } </script>

子组件:

<template> <el-dialog title="提示" :visible.sync="showDialog" width="50%" @close="handleClose"> <span>这是一段信息</span> <span slot="footer" class="dialog-footer"> <el-button @click="showDialog = false">取 消</el-button> <el-button type="primary" @click="showDialog = false">确 定</el-button> </span> </el-dialog> </template> <script> export default { // 接受父组件传递的值 props:{ addOrUpdateVisible:{ type: Boolean, default: false } }, data(){ return{ // 控制弹出框显示隐藏 showDialog:false } }, methods:{ // 弹出框关闭后触发 handleClose(){ // 子组件调用父组件方法,并传递参数 this.$emit('changeShow','false') } }, watch:{ // 监听 addOrUpdateVisible 改变 addOrUpdateVisible(oldVal,newVal){ this.showDialog = this.addOrUpdateVisible }, } } </script> <style lang="less" scoped> </style>

总结

到此这篇关于vue打开子组件弹窗都刷新功能的实现的文章就介绍到这了,更多相关vue打开子组件弹窗都刷新内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

标签:实现