ue warn] Set operation on key “modelValue“ failed: target is readonly. 警告

在对组件进行在封装时我们会遇到一个 ue warn] Set operation on key "modelValue" failed: target is readonly. 的警告

我的组件内部是这样封装的

这里是Vue官网的V-model的原理

分析原因后发现是在v-model的基础上再次封装v-model时v-model的update事件事实上直接修改了props 但是props是只读的并且没有调用自己封装的emis updata 我的以下是我的解决方案 

原理是使用computed进行绑定 将取值和赋值进行拆分 ,赋值时调用更新函数 。当然也可以将原有组件的v-model拆封为modelValue updeta:modelValue 在updeta:modelValue的事件函数中调用自己的emit进行在上层的更新。

------分隔符------

好的 我最后选择的是属性透传 

利用属性透传直接传递v-model

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值