`
zhu1xu2
  • 浏览: 4891 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Vue父子组件之间的通信

阅读更多
1.父组件调用子组件的方法:
1.1 注册子组件
var mainApp = new Vue({
	components: {
		'sms-template': smsTemplate
	}
})



1.2 子组件加上ref
<sms-template ref="smsTemplate"></sms-template>



1.3 父组件通过ref访问子组件中定义的方法
showTemplateDlg: function showTemplateDlg() {
	this.$refs.smsTemplate.showTemplateDlg();
},



2.子组件传值给向父组件
2.1 子组件使用$emit声明自定义事件
selectTemplate: function selectTemplate(row) {
	this.template_dlg = false;
	this.$emit('select-template', row.content);
},


2.2 父组件监听自定义事件并处理事件
selectTemplate: function selectTemplate(content) {
	this.sms.content = content;
},


3.完整代码
父组件:
var mainApp = new Vue({
	data: {
		sms: {
			content,
		}
	},
	method: {
		selectTemplate: function selectTemplate(content) {
			this.sms.content = content;
		},
		showTemplateDlg: function showTemplateDlg() {
			this.$refs.smsTemplate.showTemplateDlg();
		},
	},
	components: {
		'sms-template': smsTemplate
	}
})


子组件:
var smsTemplate = {
	data: {
		template_dlg: false
	},
	methods: {
		showTemplateDlg: function showTemplateDlg() {
			this.template_dlg = true;
		},
		selectTemplate: function selectTemplate(row) {
			this.template_dlg = false;
			this.$emit('select-template', row.content);
		},
	}

}


页面:
<sms-template ref="smsTemplate" @select-template="selectTemplate"></sms-template>

分享到:
评论

相关推荐

    vue 自定义组件和通信

    4. **非父子组件通信**: 对于非直接父子关系的组件通信,可以利用事件总线(Event Bus)或者Vuex。此外,还可以通过中间件组件进行间接通信。 5. **提供者/消费者模式(Provide/Inject)**: Vue的`provide`和`...

    vue实现父子组件之间的通信以及兄弟组件的通信功能示例

    其次,兄弟组件之间的通信比父子组件通信稍微复杂一些。在给定的文件信息中,通过bus(一个Vue实例)来中转消息实现兄弟组件间的通信。由于兄弟组件不具有直接的父子关系,不能直接传递props或使用自定义事件,因此...

    Vue父子组件之间的通信实例详解

    在 Vue 应用中,组件间的通信是非常关键的,尤其是父子组件之间的交互。本文将详细介绍 Vue 父子组件之间如何进行通信。 首先,我们要明确 Vue 的设计理念之一是单向数据流,这意味着通常情况下,数据应该从父组件...

    Vue 组件间传值及事件触发Demo

    在Vue.js框架中,组件是构建用户界面的...2. `v-model` 双向绑定:适用于父子组件间的双向数据流,通常用于表单元素。子组件需要暴露一个名为`value`的prop,并监听`input`事件来更新该值。 ```html &lt;!-- 父组件 --&gt; ...

    vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)

    在Vue.js中,父子组件通信主要通过props和$emit事件进行。父组件通过props属性向子组件传递数据,这相当于子组件的输入属性。子组件在接收到父组件传递过来的数据后,如果需要向父组件反馈信息,可以通过this.$emit...

    vue父子组件传值案例

    在这个“vue父子组件传值案例”中,我们将深入探讨Vue 2.x版本中的父子组件通信机制,包括父组件如何向子组件传递数据以及子组件如何向父组件发送消息。 一、父组件向子组件传值 在Vue中,父组件向子组件传递数据...

    图书管理 Vue 父子组件

    在这个系统中,Vue的父子组件通信机制扮演了关键角色,它使得不同组件间的交互更加便捷和高效。 首先,让我们深入理解Vue框架。Vue.js采用声明式编程方式,使得开发者可以专注于描述视图应该看起来如何,而不是如何...

    Vue父子组件数据传递.zip

    本资料"Vue父子组件数据传递.zip"将详细介绍如何使用props机制从父组件向子组件传递数据,以及如何应对单向数据流带来的挑战。 首先,`props`是Vue中用于父组件向子组件传递数据的主要手段。当创建一个子组件实例时...

    Vue.js 父子组件通信的十种方式

    面试官:Vue 中父子组件通信有哪些方式? 自己先想一分钟。 无可否认,现在无论大厂还是小厂都已经用上了Vue.js 框架,简单易上手不说,教程详尽,社区活跃,第三方套件还多。真的是前端开发人员必备技能。而且在...

    vue2.0父子组件及非父子组件之间的通信方法

    3. **非父子组件通信** 对于非父子组件间的通信,Vue 2.0 提供了事件总线(Event Bus)或者使用 Vuex 状态管理库。这里我们讨论事件总线的使用: 首先,创建一个全局的 Vue 实例作为事件中心(Event Hub): ```...

    vue之父子组件间通信实例讲解(props、$ref、$emit)

    这篇文章将会通过props、$ref和 $emit 这几个知识点,来讲解如何实现父子组件间通信。 在说如何实现通信之前,我们先来建两个组件father.vue和child.vue作为示例的基础。 //父组件 我是父组件! &lt;child&gt;&lt;/...

    Vue 父子组件、组件间通信

    在 Vue.js 中,父子组件通信是指父组件和子组件之间的数据交换和事件传递。父组件可以将数据传递给子组件,而子组件也可以将数据传递给父组件。这种通信机制使得组件之间可以紧密耦合,实现更复杂的用户界面。 父子...

    详解vue组件之间的通信

    首先,props是父子组件之间通信的基础。父组件通过声明式地在子组件标签上绑定数据,子组件通过props选项声明接收,从而实现父子间的通信。Props可以是静态的,也可以是动态的,静态的props是字符串类型,而动态的...

    商品评论管理 Vue 父子组件

    在“商品评论管理”这个场景中,我们可以深入探讨Vue.js中的父子组件通信、状态管理以及组件化开发等核心概念。 首先,让我们了解Vue.js中的父子组件关系。在Vue中,组件可以嵌套在其他组件内部,形成一个组件树。...

    vue2.0父子组件间通信的实现方法

    本篇文章将详细介绍如何在父子组件之间以及任意组件之间进行通信。 1. **父组件传递数据给子组件** 在Vue中,父组件向子组件传递数据主要通过`props`属性实现。首先,父组件需要在模板中通过`:child-msg`这样的...

    vue中的$emit 与$on父子组件与兄弟组件的之间通信方式

    Vue 中的 $emit 与 $on 父子组件与兄弟组件之间的通信方式 在 Vue 中,$emit 与 $on 是两个非常重要的函数,它们用于实现组件之间的数据传输。下面,我们将详细介绍 Vue 中的 $emit 与 $on 父子组件与兄弟组件之间...

    Vue.js中的Props:父子组件通信的桥梁

    组件之间的通信可以通过多种方式实现,其中props是父子组件间数据传递的主要手段。本文将详细探讨Vue.js中props的概念、工作原理以及实际应用。 Vue.js是一个渐进式JavaScript框架,用于构建用户界面。在Vue.js中,...

Global site tag (gtag.js) - Google Analytics