vue弹窗父子组件调用问题示例详解

 更新时间:2022年08月25日 10:19:55   作者:会飞的Cool猪  
这篇文章主要介绍了vue弹窗父子组件调用问题,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、vue弹窗 父子组件 emit 传图片

1、:modal-append-to-body="false"为了解决element ui中引入dialog窗口组件后遮罩层会挡住dialog窗口的用处,默认为true,改为false即可解决。

2、此弹窗主要为了解决收到下位机急停信号后,上位机前台显示弹窗的重复性。

//此为子组件(customComponents.vue)
<div>
    <el-dialog 
        :visible.sync="dialogVisible" 
        width="25%" 
        :modal-append-to-body="false">
 
		<div slot="title" class="dialog-header-title">
		   <img  :src="url" >
		   <span> 提示</span>
		</div>
		<span>{{this.message}}</span>
	    <span slot="footer" class="dialog-footer">
		    <el-button 
                type="primary" 
                size="small" 
                @click="dialogVisible = false" >确 定 </el-button>
		</span>
 
	</el-dialog>
</div>
<script>
	export default {
		props: {
			url: String,//String为定义参数类型,例如图片地址就是String类型的
			message: String,//String为定义参数类型
		},
	    data() {
	      return {
	        dialogVisible: true,
	      };
	    },
	}
</script>
//此为父组件(treatmentInterface.vue)
<customComponents 
    v-if="empStopStatus== 0" 
        :url="iconDanger" 
            :message='messageDanger' ></customComponents>
<div v-else></div>
<script>
    //引入局部组件(子组件)
	import customComponents from "../customComponents/customComponents"
    
    export default {
	    name: " ",
	    components: {customComponents},
        data() {
	      return {
			iconDanger: require('../../assets/icons/customComponents/danger.png'),
			messageDanger: "急停按钮被按下!请先检查设备...",
	      };
	    },
	}
</script>

二、vue父组件调用子组件里的不同方法

1、vue的动态方法绑定

主要看:

①:<el-button>标签里的@click

②:methods里面的buttonClick(methodName)

//此为子组件(customComponents.vue)
<div>
    <el-dialog 
        :visible.sync="dialogVisible" 
        width="25%" 
        :modal-append-to-body="false">
 
		<div slot="title" class="dialog-header-title">
		   <img  :src="url" >
		   <span> 提示</span>
		</div>
		<span>{{this.message}}</span>
	    <span slot="footer" class="dialog-footer">
		    <el-button 
                type="primary" 
                    size="small" 
                        @click="buttonClick(methodsName)">确 定</el-button>
		</span>
 
	</el-dialog>
</div>
<script>
	export default {
		props: {
			url: String,//String为定义参数类型,例如图片地址就是String类型的
			message: String,//String为定义参数类型
		},
	    data() {
	      return {
	        dialogVisible: true,
	      };
	    },
        methods:{
            buttonClick(methodName) {
				this[methodName]()
			},
            treatFinished() {
				console.log("执行了..........")
			},
			emergencyStop() {
				this.dialogVisible = false
			}
        },
	}
</script>

至此,已完成子组件里不同方法的绑定,下一步就要在父组件里调用上方子组件里的方法了。

2、父组件调用子组件方法

 //此为父组件(treatmentInterface.vue)
<!-- 治疗完成弹窗 -->
<customComponents
    v-if="treatStatus== 1" 
        :url="iconDone" 
            :message='messageFinished' 
                :methodsName='treatFinished'></customComponents>
<div v-else></div>
<!-- 急停被按下弹窗 -->
<customComponents 
v-if="empStopStatus== 0" 
    :url="iconDanger" 
        :message='messageDanger' 
            :methodsName='emergencyStop'></customComponents>
<div v-else></div>
<script>
    //引入局部组件(子组件)
	import customComponents from "../customComponents/customComponents"
    
    export default {
	    components: {customComponents},
        data() {
	      return {
			iconDanger: require('../../assets/icons/customComponents/danger.png'),
			messageDanger: "急停按钮被按下!请先检查设备...",
            treatFinished: 'treatFinished',
			emergencyStop: 'emergencyStop',
	      };
	    },
	}
</script>

到此这篇关于vue弹窗父子组件调用的文章就介绍到这了,更多相关vue父子组件调用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue3如何使用eventBus订阅发布模式

    vue3如何使用eventBus订阅发布模式

    EventBus是一种发布/订阅事件设计模式的实践,下面这篇文章主要给大家介绍了关于vue3如何使用eventBus订阅发布模式的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • 使用Vue后如何针对搜索引擎做SEO优化

    使用Vue后如何针对搜索引擎做SEO优化

    本文介绍了Vue.js在SEO优化方面的挑战,并提供了一些方法来解决这些问题,包括使用服务器端渲染、预渲染和使用VueRouter的History模式来生成静态HTML页面,以及添加meta信息和内部链接来提高搜索引擎的索引和排名
    2025-02-02
  • Vue2中实现双击事件的几种常见方法

    Vue2中实现双击事件的几种常见方法

    这篇文章主要介绍了Vue2中实现双击事件的几种常见方法,Vue2中处理双击事件的方法包括使用@dblclick指令、addEventListener方法和第三方库,这些方法提供了灵活的解决方案,以满足不同的需求,需要的朋友可以参考下
    2024-11-11
  • Vue使用pdfobject实现预览pdf的示例详解

    Vue使用pdfobject实现预览pdf的示例详解

    PDFObject 是一个 JavaScript 库用来在HTML中动态嵌入 PDF 文档。这篇文章主要为大家详细介绍了使用pdfobject实现预览pdf的功能,需要的可以了解一下
    2023-03-03
  • vue可拖拽的瀑布流布局组件实现详解

    vue可拖拽的瀑布流布局组件实现详解

    这篇文章主要为大家介绍了vue的可拖拽的瀑布流布局组件有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • Vue实现父子组件的事件传递的示例代码

    Vue实现父子组件的事件传递的示例代码

    在Vue.js这个现代化的前端框架中,组件化是其核心理念之一,正确的组件间通信是实现高效和可维护代码的关键,在许多应用程序中,父子组件之间的事件传递是一个常见的需求,,本文将深入探讨在Vue中如何实现父子组件的事件传递,并辅以示例代码来展示这些概念
    2025-01-01
  • vue移动端使用canvas签名的实现

    vue移动端使用canvas签名的实现

    这篇文章主要介绍了vue移动端使用canvas签名的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • vue2之简易的pc端短信验证码的问题及处理方法

    vue2之简易的pc端短信验证码的问题及处理方法

    这篇文章主要介绍了vue2之简易的pc端短信验证码的问题,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • Javascript vue.js表格分页,ajax异步加载数据

    Javascript vue.js表格分页,ajax异步加载数据

    这篇文章主要介绍了Javascript vue.js表格分页,ajax异步加载数据的相关资料,需要的朋友可以参考下
    2016-10-10
  • Vue3中的组合式 API示例详解

    Vue3中的组合式 API示例详解

    组合式 API 是一系列 API 的集合,使我们可以使用函数而不是声明选项的方式书写 Vue 组件,这篇文章主要介绍了什么是Vue3的组合式 API,需要的朋友可以参考下
    2022-06-06

最新评论