vue3对ref定义的数组不能直接赋值吗?

本来想用reactive来定义这个viewerImages,但发现viewerImages = [...spliceImages] 就失去响应式了,然后换成ref,用.value去赋值发现直接报错,不知道是哪里写的有问题?

image.png
image.png

------------------------------------------update-------------------------

image.png

阅读 23.5k
2 个回答

ts 数组类型不一致,可以定义接口来约束返回数据类型

interface Test{
  arr:string[]
}

const arr= reactive<Test>({arr:[]})

ref只能定义基本数据类型,例如string\number\boolean;
如果定义引用数据类型,请使用reactive定义。

你使用reactive的时候不要重新给他赋值。

你变量定义reactive,又给他重新赋值,重新赋值肯定就失去响应式了,这是js基础范畴。

你可以这样:

const data = reactive({
    viewerImages:[]
})

修改

data.viewerImages = ['...img'];

这样还能保留响应式

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题