uniapp 微信小程序:v-model双向绑定问题(自定义 props 名无效)
uniapp 微信小程序:v-model双向绑定问题(自定义 props 名无效)
- 前言
- 问题
- 双向绑定示例
- 使用 v-model
- 使用 v-bind + v-on
- 使用 sync 修饰符
- 参考资料
前言
VUE中父子组件传递数据的基本套路:
- 父传子
props - 子传父
this.$emit('事件名', '数据'); - 使用
sync修饰符,实现支持同步数据
问题

因为用的是 uniapp 开发小程序,所以要考虑到兼容性问题,不要把自己当正经VUE2。
小程序虽然支持 v-model 指令,但不支持 model 选项。
所以要么子组件中声明默认的 value 这个 props 来接收值。
要么手动:绑定属性和事件
双向绑定示例
使用 v-model
由于小程序不支持 model 选项。
这个方案中:子组件里只能使用 value 接收数据,更新时触发 input。
- 父组件
<template><view><view><text>父组件:{{ msg }}</text></view><vmodel-component v-model="msg"></vmodel-component></view>
</template><script>export default {data() {return { msg: '大家好,我是:使用 v-model' }},methods: {}}
</script><style>
</style>
- 子组件
<template><view> <view> 子组件:{{value}} </view><button @click="onclick" >更新</button></view>
</template><script>export default {data() {return {};},props:{value:{ type: String, default: "未收到父值" }},methods:{onclick(e){this.$emit('input', '我是笨笨'); // v-mode }}}
</script><style>
</style>
使用 v-bind + v-on
当然一般都会用简写形式:
v-bind:缩写为 :
v-on:缩写为 @
由于是自己手绑定,props 和 事件名都可以自己定。
比如在子组件中我就用 msg 接收数据。
事件我自己取名叫 customEvent。
<template><view><view><text>父组件:{{ msg }}</text></view><novmodel-component :msg="msg" @customEvent="e => msg = e"></novmodel-component><!-- <novmodel-component :msg="msg" @input=" msg = $event "></novmodel-component> --></view>
</template><script>export default {data() {return { msg: '大家好,我是:不使用 v-model' }},methods: {}}
</script><style>
</style>
- 子组件
<template><view> <view> 子组件:{{msg}} </view><button @click="this.$emit('customEvent', '我是笨笨')" >更新</button></view>
</template><script>export default {data() {return {};},props:{msg:{ type: String, default: "未收到父值" }},methods:{}}
</script><style>
</style>
使用 sync 修饰符
使用 sync 时可以自己决定绑到子组件的哪个 props 上,比如就绑到了 msg 上。
同步数据时触发 update:要更新的props
- 父组件
<template><view><view><text>父组件:{{ msg }}</text></view><sync-component :msg.sync="msg"></sync-component></view>
</template><script>export default {data() {return { msg: '大家好,我是:使用 sync 修饰符,实现同步数据' }},methods: {}}
</script><style>
</style>
- 子组件
<template><view> <view> 子组件:{{msg}} </view><button @click="$emit('update:msg', '我是笨笨')" >更新</button></view>
</template><script>export default {data() {return {};},props: {msg: { type: String, default: "未收到父值" }},methods:{}}
</script><style>
</style>
参考资料
uniapp官方文档 :模板指令 v-model
uniapp官方文档 :.sync 修饰符
vue2官方文档:选项 model
相关文章:
uniapp 微信小程序:v-model双向绑定问题(自定义 props 名无效)
uniapp 微信小程序:v-model双向绑定问题(自定义 props 名无效) 前言问题双向绑定示例使用 v-model使用 v-bind v-on使用 sync 修饰符 参考资料 前言 VUE中父子组件传递数据的基本套路: 父传子 props子传父 this.$emit(事件名, …...
【Lua学习笔记】Lua进阶——Table(3) 元表
接上文 文章目录 元表__tostring__call__index__newindex运算符元方法其它元表操作 元表 Q:为什么要使用元表? A:在Lua中,常常会需要表与表之间的操作。元表中提供了一些元方法,通过自定义元方法可以实现想要的功能&…...
AI编程常用工具 Jupyter Notebook
点击上方蓝色字体,选择“设为星标” 回复”云原生“获取基础架构实践 深度学习编程常用工具 我们先来看 4 个常用的编程工具:Sublime Text、Vim、Jupyter。虽然我介绍的是 Jupyter,但并不是要求你必须使用它,你也可以根据自己的喜…...
RocketMQ重复消费的解决方案::分布式锁直击面试!
文章目录 场景分析方法的幂等分布式锁Redis实现分布式锁抢锁的设计思路 分布式锁案例 直击面试rocketmq什么时候重复消费消息丢失的问题消息在哪里丢失发送端确保发送成功并且配合失败的业务处理消费端确保消息不丢失rocketmq 主从同步刷盘 场景分析 分布式系统架构中,队列是分…...
如何降低TCP在局域网环境下的数据传输延迟
以Ping为例。本案例是一个测试题目,只有现象展示,不含解决方案。 ROS_Kinetic_26 使用rosserial_windows实现windows与ROS master发送与接收消息_windows 接收ros1 消息 什么是ping? AI: ping是互联网控制消息协议(…...
【LeetCode】78.子集
题目 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums [1,2,3] 输出:[[],[1],[2],[1…...
认可功能介绍 - 技术声誉靠认可
需求 大家在学习和工作中, 经常碰到一些热心帮助自己的人, 我们怎么向他们表示感谢呢? 各位博主在 CSDN 也做了很多贡献,也有不少用户在做各种各样的社区活动,这些活动给我们的领军人物什么回馈呢? 这些…...
EtherNet/IP转CAN网关can协议标准
生产管理设备中,会有设备与其他设备的协议不同,数据无法互通,让你的工作陷入困境。这时,一款神奇的产品出现了——远创智控YC-EIP-CAN通讯网关! 1, 这款通讯网关采用ETHERNET/IP从站功能,可以将各种CAN总线…...
解决代理IP负载均衡与性能优化的双重挑战
在当今数字化时代,代理IP的应用范围日益广泛,它不仅在数据爬取、网络抓取等领域发挥着重要作用,也成为网络安全和隐私保护的有力工具。然而,面对庞大的数据流量和复杂的网络环境,如何实现代理IP的负载均衡和性能优化成…...
深度探索 Elasticsearch 8.X:function_score 参数解读与实战案例分析
在 Elasticsearch 中,function_score 可以让我们在查询的同时对搜索结果进行自定义评分。 function_score 提供了一系列的参数和函数让我们可以根据需求灵活地进行设置。 近期有同学反馈,function_score 的相关参数不好理解,本文将深入探讨 f…...
测牛学堂:软件测试之andorid app性能测试面试知识点总结(二)
APP性能测试指标之FPS 如果经常玩游戏的同学应该听过FPS。 FPS本来是图像领域中的概念,是指画面每秒传输的帧数。每秒钟帧数越多,所显示的动作就会越流畅。 但是因为功耗的限制,一般60fps就是跑满的效果了。 我们测试的话,一般…...
尚医通06:数据字典+EasyExcel+mongodb
内容介绍 1、数据字典列表前端 2、EasyExcel介绍、实例 3、数据字典导出接口、前端 4、数据字典导入接口、前端 5、数据字典添加redis缓存 6、MongoDB简介 7、MongoDB安装 8、MongoDB基本概念 数据字典列表前端 1、测试问题 (1)报错日志 &am…...
【前端知识】React 基础巩固(三十二)——Redux的三大原则、使用流程及实践
React 基础巩固(三十二)——Redux的三大原则 一、Redux的三大原则 单一数据源 整个应用程序的state被存储在一颗object tree 中,并且这个object tree 只存储在一个store中;Redux并没有强制让我们不能创建多个Store,但是那样做不利于数据维护…...
[NLP]使用Alpaca-Lora基于llama模型进行微调教程
Stanford Alpaca 是在 LLaMA 整个模型上微调,即对预训练模型中的所有参数都进行微调(full fine-tuning)。但该方法对于硬件成本要求仍然偏高且训练低效。 [NLP]理解大型语言模型高效微调(PEFT) 因此, Alpaca-Lora 则是利用 Lora…...
Linux Shell 脚本编程学习之【第5章 文件的排序、合并与分割 (第四部分之cut命令) 】
第5章 文件的排序、合并与分割 (第四部分之cut命令) 4 cut 命令4.1 选项及其意义4.2 输出字符 (-c)4.3 改变分隔符(-d)和提取特定域(-f) 5 paste 命令5.1 paste 命令选项及其意义5.2…...
php-golang-rpc jsonrpc和php客户端tivoka/tivoka包实践
golang 代码: package main import ( "fmt" "net" "net/rpc" "net/rpc/jsonrpc" ) type App struct{} type Res struct { Code int json:"code" Msg string json:"msg" Data any json:"…...
flutter 打包iOS安装包
flutter iOS Xcode打包并导出ipa文件安装包 1、 Xcode配置 1、 启动打包 1、 等待打包 1、 打包完成、准备导出ipa 1、 选择模式 1、 选择配置文件 1、 导出 1、 选择导出位置 1、 得到ipa...
二进制重排
二进制重排作用 二进制重排的主要目的是将连续调用的函数连接到相邻的虚拟内存地址,这样在启动时可以减少缺页中断的发生,提升启动速度。目前网络上关于ios应用启动优化,通过XCode实现的版本比较多。MacOS上的应用也是通过clang进行编译的&am…...
【Linux后端服务器开发】MAC地址与其他重要协议
目录 一、以太网 二、MAC地址 三、MTU 四、ARP协议 五、DNS系统 六、ICMP协议 七、NAT技术 八、代理服务器 一、以太网 “以太网”不是一种具体的网路,而是一种技术标准:既包含了数据链路层的内容,也包含了一些物理层的内容…...
WebGPU入门
1. 引言 前序博客: CUDA入门WebGPUZKP:客户端证明 WebGPU——Draft 2023.7.17 由苹果、谷歌、Mozilla团队发起,当前处于草稿阶段,旨在成为W3C推荐标准。 WebGPU为 在图形处理单元(GPU)上执行诸如渲染和…...
踩过PCB缺陷检测长尾分布的坑后,我用DR Loss把YOLOv8尾部类别召回率从58%干到92%
本文基于我7年工业视觉、PCB缺陷检测项目的一线落地经验,针对工业场景最头疼的数据长尾分布痛点——头部常见缺陷样本极多、尾部稀有缺陷样本极少,导致原生YOLOv8尾部类别漏检严重、泛化能力差的问题,完整拆解DR Loss(Distribution Ranking Loss)分布排名损失的核心原理,…...
Paste 轻量级剪贴板管理工具使用指南
Paste 轻量级剪贴板管理工具使用指南 【免费下载链接】paste A no-datastore, client-side paste service. 项目地址: https://gitcode.com/gh_mirrors/past/paste 一、场景化导入:当剪贴板成为你的效率瓶颈 想象一下这样的工作场景:你正在整理一…...
虚幻引擎C++实战:用TSharedPtr管理资源时90%人会犯的3个内存错误
虚幻引擎C实战:用TSharedPtr管理资源时90%人会犯的3个内存错误 在虚幻引擎的C开发中,智能指针系统是资源管理的核心工具之一。TSharedPtr作为UE提供的引用计数智能指针,其设计初衷是为了简化内存管理,但实际开发中却常常成为内存泄…...
LM339比较器实战:手把手教你搭建电池电压监测电路(附电路图)
LM339比较器实战:手把手教你搭建电池电压监测电路(附电路图) 1. 为什么选择LM339作为电池监测核心器件? 在电子设计领域,电压监测是保障设备稳定运行的基础功能之一。LM339作为一款经典的四路电压比较器,…...
内存检测从入门到精通:Memtest86+实战指南
内存检测从入门到精通:Memtest86实战指南 【免费下载链接】memtest86plus memtest86plus: 一个独立的内存测试工具,用于x86和x86-64架构的计算机,提供比BIOS内存测试更全面的检查。 项目地址: https://gitcode.com/gh_mirrors/me/memtest86…...
从零构建大模型?斯坦福CS336爆火课程带你闯关,附超全学习资源包!
文章介绍了斯坦福大学CS336《从零开始构建语言模型》课程,该课程借鉴操作系统课程理念,带领学生体验语言模型创建的各个环节,包括数据收集、模型构建、训练和评估。课程内容实践性强,需要较多学习开发时间,适合有一定基…...
用过才敢说!盘点2026年备受喜爱的的AI论文平台
一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文平台,覆盖选题构思、文献整理、内容生成、降重润色等核心场景,帮你高效搞定论文,告别熬夜赶稿! 一、全流程王者:一站式搞定论文全链路…...
【数字电路基础】三态门在芯片设计中的关键作用与限制
1. 三态门:数字电路中的交通警察 第一次听说三态门时,我脑海里浮现的是十字路口的红绿灯。这个看似简单的数字电路元件,实际上在芯片设计中扮演着至关重要的角色。三态门之所以特殊,是因为它比普通逻辑门多了一个"隐身"…...
Wan2.1-umt5开发环境搭建:IDEA集成与调试技巧详解
Wan2.1-umt5开发环境搭建:IDEA集成与调试技巧详解 如果你是一名Java开发者,最近开始接触Wan2.1-umt5这类模型,可能会觉得有点无从下手。模型本身是用Python写的,各种脚本和命令行操作,跟咱们熟悉的Java开发环境完全是…...
cat-catch:构建智能化媒体资源捕获的浏览器扩展解决方案
cat-catch:构建智能化媒体资源捕获的浏览器扩展解决方案 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch cat-catch是一款专注于网页媒体资源智能捕获的浏览器扩展工具,通过深度…...
