Vue 组件通信

今天学习了,vue组件通信本篇随笔主要对今天的学习成果进行总结。有什么不对的地方还望谅解!

首先,Vue的核心即组件化开发,所以组件通信就显得十分重要。
组件通讯包括:父子组件间的通信和兄弟组件间的通信。

1.子组件获取父组件中数据间:

var Child={
template:"#child",
props:[‘mes‘],
data:function(){
return {
data:this.$props.mes, //调用该子组件 props 中的对应属性的属性值;
}
}
通过props将所需该子组件的属性名进行保存,vue自动将其连同属性值打包成json格式保存在 this.$props 中。
那么当子组件以标签形式插入父组件模板时,子组件即可通过 v-bind 绑定属性的形式获取父组件中的数据。

2.父组件获取子组件中数据:

通过 ref 绑定子组件名,子组件的数据将会被保存在 this.$refs 中,所以在父组件中通过 this.$refs.Child 获取Child组件中的数据。

3.用户操作触发,子组件获取父组件数据:

var Head={
template:"#child",
data:{
meg:"hello!"
},
methods:{
fn:function(){
this.$emit(‘event‘,this.meg) //触发自定义事件 传递数据
}
}
}

通过子组件中的button按钮触发自定义事件 event 从而传递child中的meg数据;

在父组件的标签中加入自定义事件 event 来接收参数

methods:{
result:function(res){
this.mes=res;
}
},

事件event触发后,执行父组件中的result方法,形参即为接受到的子组件中数据。

原文地址:https://www.cnblogs.com/mengeer/p/9363300.html

时间: 2024-08-28 03:18:14

Vue 组件通信的相关文章

Vue组件通信模式

概述 在Vue.js中,有几种我们能用的内部组件通信的方法.一般的属性和事件对于大多数场景来说已经够用了,但是除此之外,还有其他可用的方法. 属性和事件 当然,一般的通信方法用到了属性和事件.这种常用的模式是组件中一种强大的通信方式,它不用在相关的组件上引入任何依赖和限制. 属性 属性允许你传递任意的数据类型到一个子组件中,并且允许你控制组件接收何种类型的数据.属性的更新也是响应式的,这使得无论任何时候,父组件的数据改变,子组件就会更新. 模板用法: 123 <my-component v-bi

vue组件通信

1.子组件如何快速改变父组件中传过来的值(通过引用传递的方式给子组件,子组件可以直接改变对象中的属性) // App.vue <template> <div> <News :a-msg="msg" :out-data="outData"></News> {{msg}} <h3>{{outData.a}}</h3> </div> </template> <script

vue组件通信的几种方式

最近用vue开发项目,记录一下vue组件间通信几种方式 第一种,父子组件通信 一.父组件向子组件传值 1.创建子组件,在src/components/文件夹下新建一个Child.vue 2.Child.vue的中创建props,然后创建一个名为message的属性 child.png 3.在App.vue中注册Child组件,并在template中加入child标签,标签中添加message属性并赋值 App2.png 4.保存修改的文件,查看浏览器 browser.png 5.我们依然可以对m

vue组件通信(props,$emit,$attrs,$listeners)

朝颜陌 vue基础----组件通信(props,$emit,$attrs,$listeners) 一.父传子,子传孙 1. props 1>在父组件中通过子组件自定义的标签属性来传递数据. 2>在子组件中通过props声明希望用到的数据 1 <body> 2 <div id="app"> 3 <my-father :msg1="msg" a="10" :b="20" @click1=&

vue组件通信传值——Vuex

一.Vuex介绍 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. Vuex 也集成到 Vue 的官方调试工具devtools extension,提供了诸如零配置的 time-tavel 调试.状态快照导入导出等高级调试功能. 1.状态管理模式 一个简单的 Vue 计数应用范例如下所示: new Vue({ // state data () { return { count: 0 } }

Vue 组件通信(组件间通信)

1.中央事件总线bus <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <title>Vue</title> </head> <body> <div id="app"> <p>{{message}}</p> <my-compone

Vue组件通信之非父子组件传值

前言: 如果想要了解非父子关系的组件传值,最好是在了解父传子和子传父的基础上在来了解非父子传值可能会有更透彻的思路. 因为非父子传值是通过定义事件总线来代理实现父传子+子传父从而实现的传值方式. 这是我总结的父子传值相关的知识,可供参考: https://www.cnblogs.com/ViavaCos/p/11712131.html 然后大概回顾一下父子传值的过程: 根据上述信息可知,如果两个组件需要传递值那么需要这两个组件之间是父子关系才能传递数据. 那么如果有这样一个组件,既可以帮你传递数

VUE组件通信(父传子)

首先把父组件要传输的数据用自定义属性绑定在标签上 <father :father_data=' data '></father> 在子组件中用prpos接收 const childcomponent = { template:'<child>{{son_data}}</child>', props:[' father_data'], //props['属性名'] (在父组件中用来绑定数据的属性名) data(){ return{ //用来接收数据的变量 so

封装Vue组件的一些技巧

封装Vue组件的一些技巧 本文同步在个人博客shymean.com上,欢迎关注 写Vue有很长一段时间了,除了常规的业务开发之外,也应该思考和反思一下封装组件的正确方式.以弹窗组件为例,一种实现是在需要模板中引入需要弹窗展示的组件,然后通过一个flag变量来控制弹窗的组件,在业务代码里面会充斥着冗余的弹窗组件逻辑,十分不优雅. 本文整理了开发Vue组件的一些技巧,包含大量代码示例. 开发环境 vue-cli3提供了非常方便的功能,可以快速编写一些测试demo,是开发组件必备的环境.下面是安装使用