您的位置:首页 > 科技 > 能源 > 网线制作公开课_阿里建站平台官网_网站推广网站_营销型网页设计

网线制作公开课_阿里建站平台官网_网站推广网站_营销型网页设计

2025/4/30 15:03:33 来源:https://blog.csdn.net/qq_40830369/article/details/145707780  浏览:    关键词:网线制作公开课_阿里建站平台官网_网站推广网站_营销型网页设计
网线制作公开课_阿里建站平台官网_网站推广网站_营销型网页设计

vue中为什么在实现双向绑定时,emit 事件名要加 update: 前缀

1. v-model

  1. 在 Vue 中,v-model 是一个语法糖,它实际上做了两件事:
    • 把一个值绑定到组件/元素上
    • 监听这个值的变化事件
  2. 当我们使用 v-model 时:
//父组件
...
<BusDevDetail v-model:isDetailDrawerShow="isDetailDrawerShow" />
...

等价于

//父组件
...
<BusDevDetail :isDetailDrawerShow="isDetailDrawerShow"@update:isDetailDrawerShow="isDetailDrawerShow = $event"
/>
...
  1. 所以在子组件中:
const emit = defineEmits(["update:isDetailDrawerShow"]);
  • update: 前缀表明这是一个更新属性的事件
  • isDetailDrawerShow 是要更新的属性名
  • 当子组件需要修改这个值时,会触发 emit("update:isDetailDrawerShow", newValue)
  • 父组件监听到这个事件后,会更新 isDetailDrawerShow 的值

这就是为什么在实现双向绑定时,emit 事件名要加 update: 前缀的原因。这是 Vue 的约定,确保 v-model 能正确工作。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com