15. Vue2.4+新增属性.sync

本文详细介绍了在Vue.js中,如何使用.sync修饰符简化父子组件之间的数据传递与更新过程。在Vue2.4版本之前,父组件通过props将数据传递给子组件,而子组件通过$emit触发自定义事件来通知父组件更新数据。.sync修饰符的引入,使得这一过程更加简洁,父组件可以更直观地监听子组件修改值的事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

.sync

在vue2.4以前,父组件向子组件传值用props;子组件不能直接更改父组件传入的值,需要通过$emit触发自定义事件,通知父组件改变后的值。

父组件:

<template>
  <div>
      <p>父组件传入子组件的值:{{name}}</p>
    <fieldset>
      <legend>子组件</legend>
      <child :val.sync="name">
      </child>
    </fieldset>
  </div>
</template>

<script>
import child from './child';
export default {
    components:{child},
    data: function () {
        return {
            name:'hello'
        }
     },
    methods: {
        
    }
}
</script>

<style>

</style>

子组件:

<template>
  <div style="margin-top: 300px;margin-left: 500px;">
    <label class="child">
        输入框:
       <input :value=val @input="$emit('update:val',$event.target.value)"/>
    </label>
  </div>
</template>

<script>
export default {
    name:'child',
    props:{
        val:String
    },
    data()  {
        return {
        }
    },
    methods: {
    }
}
</script>

<style>

</style>

写法上简化了一部分,很明显父组件不用再定义方法检测值变化了。其实只是对以前的$emit方式的一种缩写,.sync其实就是在父组件定义了一update:val方法,来监听子组件修改值的事件。

参考:https://www.jianshu.com/p/4649d317adfe

转载于:https://www.cnblogs.com/shix0909/p/11217591.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值