Vue3_07(组件的v-model)
v-model | Vue.js https://v3.cn.vuejs.org/guide/component-custom-events.html#v-model-%E5%8F%82%E6%95%B0
在input中可以使用v-model来完成双向绑定
1 2 3 | <input v-model= "message" > #上下等同 <input :value= "message" @input= "message = $event.target.value" > |
vue也支持在组件上使用v-model
1 2 3 | <hy-input v-model= "message" ></hy-input> #上下等同 <hy-input :modelValue= "message" @update:model-value= "message = $event" ></hy-input> |
组件v-model的实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <template> <div> <input :value= "modelValue" @input= "btnClick" > </div> </template> <script> export default { props: [ 'modelValue' ], emits: [ "update:modelValue" ], methods: { btnClick(event) { this .$emit( "update:modelValue" , event.target.value); } } } </script> <style scoped> </style> |
利用computed实现(更佳)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | <template> <div> <input v-model= "value" > <input v-model= "why" > </div> </template> <script> export default { props: { modelValue: String, title: String }, emits: [ "update:modelValue" , "update:title" ], computed: { value: { set(value) { this .$emit( "update:modelValue" , value); }, get() { return this .modelValue; } }, why: { set(why) { this .$emit( "update:title" , why); }, get() { return this .title; } } } } </script> <style scoped> </style> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!