解决Vue警告Write operation failed:computed value is readonly
作者:PKQ1023 发布时间:2024-04-09 10:49:25
标签:vue,警告,write
警告信息:
浏览器控制台警告: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
来源:https://blog.csdn.net/qq_43492356/article/details/127664277


猜你喜欢
- Python下实现定时任务的方式有很多种方式。下面介绍几种循环sleep:这是一种最简单的方式,在循环里放入要执行的任务,然后sleep一段
- 多行正则表达式是对象的只读布尔属性。它指定是否一个特定的正则表达式进行多行匹配,即,不管是否使用“m”属性创建。语法RegExp
- 开发环境开发环境为:Win 10(64位)Python 3.7.0Django 2.1安装Pythonpython的安装为比较简单,首先找到
- 今天我遇到一个问题,MySQL企业版备份引起I/O子系统负载过大,应用响应缓慢,导致系统不可用。所以我想限制mysqlbackup的进程,使
- 发送端可以不停的发送新文件,接收端可以不停的接收新文件。例如:发送端输入:e:\visio.rar,接收端会默认保存为 e:\new_vis
- PHP crc32() 函数实例输出 crc32() 的结果:<?php $str = crc32("Hello World
- 很神奇的一个晚上,居然在以前老同事的群里跟同事讨论起CSS的东西来了,不过很意外的还是有收获。在IE中常常会碰到如果将容器定位后,出现容器内
- 1)按笔画排序 select * from Table order by nlssort(columnName,'NLS_SORT=
- Go 语言的 sync 包提供了一系列同步原语,其中 sync.Cond 就是其中之一。sync.Cond 的作用是在多个 goroutin
- 网上大部分的免费asp程序使用的是access数据库。但是access数据库作为一个中小型的单机数据库系统,在承担访问量、数据量大的网站应用
- 本文实例为大家分享了pyqt实现右下角弹出框的具体代码,供大家参考,具体内容如下构造函数中:self.desktop=QDesktopWid
- 前言最近有个项目需求就是在客户端的右上角要实时展示提醒消息,下面来看下简单的实现步骤一、Notification这是基于悬浮出现在页面角落,
- var request = require('request')var url = 'http://www.baid
- 1 JSON 文件存储JSON,全称为 JavaScript Object Notation, 也就是 JavaScript 对象标记,它通
- 本文实例讲述了Python实现去除列表中重复元素的方法。分享给大家供大家参考,具体如下:这里一共使用了四种方法来去除列表中的重复元素,下面是
- TensorFlow版本更新太快 了,所以导致一些以前接口函数不一致,会报错。这里总结了一下自己犯的错,以防以后再碰到,也可以给别人参考。首
- 上文我们总结过了Python多继承的相关知识,没看过的小伙伴们也可以去看看,今天给大家介绍Python类的单继承相关知识。一、类的继承面向对
- 最近准备做一个关于scrapy框架的实战,爬取腾讯社招信息并存储,这篇博客记录一下创建项目的步骤pycharm是无法创建一个scrapy项目
- DML、DDL、DCL区别 . 总体解释: DML(data manipulation language): 它们是SELECT、UPDAT
- 在我前一阵子刚刚写了“HTML5与Flash,不得不说的话题”的评论后,如各位所料,由于牵扯到多方利益和未来标准制定的角色份量,这不,有可能