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

.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

posted @   sixinshuier  阅读(330)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示