解决Vue警告Write operation failed:computed value is readonly
警告信息:
浏览器控制台警告:Write operation failed: computed value is readonly
使用环境:
Vue 3.2.41
Chrome x64 v103.0.5060.66
报错情景:
利用Vue的响应式修改某个值时出现该警告。
<template> {{ msg }} <br> <button @click="add">+</button> </template>
<script setup lang="ts"> import { computed, ref} from 'vue' const x = ref('-') // 计算属性 const msg:any = computed(()=>{ return x.value + '-' }) // 修改 计算属性的值 的方法 const add = () => { msg.value = msg.value + '???' } </script>
报错原因:
修改的值是计算属性,而计算属性是只读的。所以无法修改。
解决方法:
为计算属性配置修改方法,如下:
<script setup lang="ts"> import { computed, ref} from 'vue' const msg = ref('-') // 计算属性 const computedMsg: any = computed({ get() { // 这里返回的值是获取计算属性的值 return msg.value + '-' }, set(newValue) { // 参数newValue是被修改后的值 // 这里是修改的具体逻辑 /* 注意这里不要使用下面的方法修改计算属性的值来达到修改目的 而应该直接修改源响应数据xxx的值 */ msg.value = newValue // computedMsg.value = newValue } }) // 修改 计算属性的值 的方法 const add = () => { computedMsg.value = computedMsg.value + '???' } </script>
参考:
计算属性 | Vue.js
总结
关于解决Vue警告Write operation failed:computed value is readonly的文章就介绍至此,更多相关Vue警告Write operation failed内容请搜索编程宝库以前的文章,希望以后支持编程宝库!
在实际开发项目过程中有时候需要上传比较大的文件,然后呢,上传的时候相对来说就会慢一些,so,后台可能会要求前端进行文件切片上传,很简单哈,就是把比如说1个G的文件流切割成若干个小的文件流,然后分别请求接口传递 ...