Vue 父子组件传值

192 阅读1分钟

vue的父子组件传值的方法总结:

  • 父组件传递给子组件:
1. props方法
  • 子组件传递给父组件:
1. emit方法

获取当前组件的父组件

$parent

获取当前组件的子组件

$children 

子父组件传值

  1. 使用props/emit 在子组件中定义props 接收父组件中通过v-bind 绑定的数据

父传子:

在父组件中定义一个data

image.png

将创建好的子组件引入

image.png 父组件使用子组件的地方定义一个属性 将父组件的data wuye:{}传入

image.png

在子组件中使用props 接收传入的属性 ,并可以直接使用 注意: props传递是单向的

实时更子组件的数据 可以使用watch()去监测

image.png 直接使用

image.png 显示结果

image.png

注意 父传子的数据 可以直接初始化赋值给data
还可以使用watch 去监听然后进行数据变化

子传父的情况

注意子串父是需要触发事件去传递 1 如果点击按钮或者触发什么事件,然后通过触发事件去给父组件传值

子组件如图 image.png

this.$emit("updata",this.msg) 
第一个参数 “updata" 自定义一个事件名称 
第二个参数是 this.msg 传递的数据

父组件如图

image.png 1 在父组件引入子组件的地方
接收自定义事件 updata
定义一个方法 lemon 用于接收updata 自定义的事件
lemon()就可以打印出子组件传来的msg “lemon 很不错”