Vue组件~父子组件之间的通信(传值)

1.父组件向子组件传参

  父组件中通过v-bind对要传参数的绑定:(例如)

    

    :dataSourceName:是在子组件中要用到的值

    "ctpSaveEchartSetting.dataSourceId":是在父组件中要传的值

  子组件中的接收通过props(数据值单项绑定的)进行接收:(例如)

    

  注:在props中有的变量就不能再data中再定义,或通过监测、计算属性直接去改变,因为js中的对象和数组是引用对象,指向同一个内存空间,如果在子组件中改变props中的值会影响到父组件中的值的状态.

2.子组件向父组件传值

  子组件中通过调用this.$emit方法

  vm.$emit( event, arg ):event:父组件中的方法名;arg:子组件中要带到父组件的参数可以有多个值

  vue禁止子组件向父组件传参,只能通过事件触发来改变:(例如)

  

  父组件中通过v-on来绑定事件在子组件上:(例如)

  

  @drawChart:是子组件中放在$emit方法中的第一个参数

  ="drawChart":是父组件中的方法名

3.父组件调用子组件上的方法

  子组件中直接写方法:(例如)

  

  父组件中:(例如)

  在自定义组件上添加一个ref属性

  

  在父组件中直接调用

  

4.非父子组件之间使用vuex进行参数传递

    

原文地址:https://www.cnblogs.com/yuNotes/p/10996834.html

时间: 2024-10-10 12:27:46

Vue组件~父子组件之间的通信(传值)的相关文章

Vue.js父子组件如何传值

https://blog.csdn.net/qq_40259641/article/details/81265950 Vue.js父子组件如何传值 通俗易懂原创 阿猫阿狗哈 发布于2018-07-28 22:04:42 阅读数 14278 收藏展开父子组件传值原理图 一般页面的视图App.vue应为这样 一.父组件向子组件传值 1.创建子组件,在src/components/文件夹下新建一个Child.vue2.Child.vue的中创建props,然后创建一个名为message的属性 3.在A

vue之父子组件之间的通信方式

(一)props与$emit <!-这部分是一个关于父子组件之间参数传递的例子--> <!--父组件传递参数到子组件是props,子组件传递参数到父组件是用事件触发$emit--> <!OCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <sccipt src="js/vue.js" t

Vue中非父子组件传值的问题

非父子组件之间的通信,必须要有公共的实例(可以是空的),才能使用 $emit 获取 $on 的数据参数,实现组件通信 第一个组件的数据传递给第二个组件 公共实例文件bus.js,作为公共数控中央总线 import Vue from "vue"; export default new Vue(); 第一个组件 first.vue import Bus from '../bus.js'; export default { name: 'first', data () { return {

vue(三)-父子组件通信

原因 :  Vue 的组件作用域都是孤立的,不允许在子组件的模板内直接引用父组件的数据.必须使用特定的方法才能实现组件之间的数据传递. props  父组件给子组件传递数据 props:作用是父组件给子组件传递数据. 语法:参考<vue(二)-父子组件语法>. 注意要点: 1:  子组件要显式声明需要哪些数据.语法: props{ item:{ default(){ return } } } 2:从父组件用props传进来的数据,一般不要改动,因为改动之后,父组件中数据也变了,但是(敲黑板),

vue的父子组件间传值以及非父子间传值

Vue组件间的传值方式: 父传子 子传父 非父子间传值 1.首先父组件传值给子组件,使用bind绑定属性,然后在子组件用props接收属性值. //父组件 <template> <input type="text" /> <br/> <child :inputValue="inputValue"></child> </template> <script> import child f

vue中非父子组件的传值

/*非父子组件传值 1.新建一个js文件,然后引入vue,实例化vue,最后暴露这个实例 2.在要广播的地方引入刚才定义的实例 3.通过 VueEvent.$emit("名称",数据) 4.在接收数据的地方通过$on接收广播的数据 VueEvent.$on('名称',function () { })*/ App.vue根组件 <template> <div id="app"> <v-home></v-home> <

vue中父子组件主动获取值 父组件向子件间的传值

父组件主动获取子组件的数据和方法: 1.调用子组件的时候定义一个ref <v-header ref='header'></header> 2.在父组件里面通过 this.$refs.header.属性 this.$refs.header.方法 子组件主动获取父组件的数据和方法 this.$parent.数据 this.$parent.方法 父组件向子件间的传值 1.父组件调用子组件的时候 绑定动态属性 2.在子组件里通过props接受父组件传过来的数据 原文地址:https://w

Vuejs——(10)组件——父子组件通信

版权声明:出处http://blog.csdn.net/qq20004604 目录(?)[+] 本篇资料来于官方文档: http://cn.vuejs.org/guide/components.html#u7236_u5B50_u7EC4_u4EF6_u901A_u4FE1 本文是在官方文档的基础上,更加细致的说明,代码更多更全. 简单来说,更适合新手阅读 (二十七)父子组件通信 ①访问子组件.父组件.根组件: this.$parent    访问父组件 this.$children   访问子

Vue的父子组件v-model双向绑定,父组件修改子组件中绑定的v-model属性

先来看下实现的效果,父组件中有个文本框,在点击下面按钮时弹出抽屉,抽屉里也有个文本框,文本框里的初始值要和父组件的文本框同步,并且修改抽屉里的文本框值时 父组件里的文本框值也要跟着改变 网上有大概三种方法 父组件调用子组件传值,子组件通过props接收父组件传来的值,并通过emit发送方法名和值,父组件根据传来的方法名定义方法接收值并进行赋值操作. Sync  这个没试过不了解 v-model  子传父: 父组件定义v-model,子组件中当数据更新时,向父组件emit一个input事件,将更新