vue3中reactive变量不能赋值的问题:const a=ref(true); a=false报错?
问题描述
本人刚接触前端,属于用到什么学什么的那种,所以基础不是很牢。今天开发中遇到了这个问题,实在搞不懂,前来咨询各位大佬。
在quasar+vue3项目下,控制台报错TypeError: Assignment to constant variable.
相关代码
粘贴代码文本(请勿用截图)
const a =ref(true)function func(){
a = false
}
问题出现的环境背景及自己尝试过哪些方法
将a 放进另一个变量中可以正常赋值了
const data = reactive({ a:true
})
function func(){
data.a = false
}
ref和reactive是把数据做可响应处理,那么为什么放进另一个变量中才不会报错,我不太理解
谢谢各位解答
回答:
根据vue3文档中ref部分的描述:
接受一个内部值并返回一个响应式且可变的 ref 对象。ref 对象具有指向内部值的单个 property .value。
根据mdn上的描述https://developer.mozilla.org...
const 定义一个常量
在题目中const a = ref(true)
根据文档中的说法,想要改变a的值,需要用a.value。
事实证明,a.value = false
是可行的。
感谢“lordGuan”提出的很逗的例子,感谢“未选择的路”让我去看文档。文档确实非常有用,而且不注意你就会疏忽掉一些东西。问题出现的原因也是我基础不扎实导致的,竟然都忘了ref需要.value用
回答:
https://vue3js.cn/docs/zh/api... 多看文档
回答:
const a = true
老板让a盯着一把钥匙,并且告诉a谁都不能动这把钥匙,雷打不动。老板娘来了让a把钥匙叫出来,但又不能闲着,就给了a一个皮球。a一下就不乐意了,老板的吩咐打死都不行,于是把老板娘锤了一顿。
const a = { b: true
}
老板让a盯着一个盒子,这个盒子里放了一把钥匙,并且告诉a谁都不能动这个盒子,雷打不动。老板娘来了使用隔空取物把盒子里的钥匙换成了一个皮球,盒子纹丝不动,a表情严肃的盯着盒子。老板娘笑着离开了。小组长又来了,想用一个鼠标换a盯着的盒子,a一下就不愿意了,把小组长给锤了一顿。
以上是 vue3中reactive变量不能赋值的问题:const a=ref(true); a=false报错? 的全部内容, 来源链接: utcz.com/p/935748.html