Vue中值的传递(父传子,子传父,子父同步)

1.父组件->子组件传递数据

①父组件通过 v-bind: 属性绑定的形式,把数据传递给子组件

如果不需要动态绑定,则可以直接写number=“张三”

②子组件中,通过props接收父组件传递过来的数据

 2.子组件->父组件传递数据

1.在子组件中:

  • 在emits定义自定义事件
  • 通过触发事件来触发自定义函数,并传递数据

 2.在父组件中:

 

 3.子组件和父组件同步数据

 

①在v-bind:指令之前添加v-model指令

②在子组件中声明emits自定义事件,格式为updata:xxx 

③调用$emit()触发自定义事件,更新父组件中的数据

App.vue

<template>
  <div>
    <h1>App根组件-----{{ count }}</h1>
    <button @click="count+=1">+1</button>
    <my-counter v-model:number="count"></my-counter>
  </div>
</template>

<script>
import MyCounter from './Counter.vue'
export default {
    name:'MyApp',
    data(){
        return{
            count:0
        }
    },
    components:{
        'my-counter':MyCounter
    }
}
</script>

Counter.vue

<template>
  <div>
  <p>count值是:{{ number }}</p>
  <button @click="add">+1</button>
  </div>
</template>

<script>

export default {
    name:'MyCounter',
    props:['number'],
    data(){
        return{
            
        }
    },
    emits:['update:number'],
    methods:{
        add(){
            this.$emit('update:number',this.number+1)
        }
    }
}
</script>

个人总结:

1.父传子{

父:在组件中传递参数(:number=‘传递的参数’

子:接收父组件传递来的数据(props:{ }

}

2.子传父{

子:在emits定义自定义事件,通过触发事件来触发自定义函数,并传递数据

父:监听自定义事件,调用方法,该方法的形参就是传递过来的数据。(@change=(add) add(value){这里的value就是子传递过来的参数})

}

3.父子同数据

思路:在父向子传递的基础上,再改写子向父传递

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

再学习一点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值