VUE3中ref与reactive

  • ref:支持所有类型
  • reactive:只支持引用类型(Obj,Array...)
  • 两者都是实现数据视图响应式

JS逻辑使用中

ref:需要使用.value

reactive:不需要使用.value

html 复制代码
 <el-button @click="handle()" type="primary">操作ref</el-button>
javascript 复制代码
import { ref, reactive } from "vue";

const refobj = ref({name:'小李'})
const reactiveobj = reactive ({name:'小红'})

const handle = ()=>{
  refobj.value.name='小明' // refobj :{name:'小明'}
  reactiveobj.name='小花'  // reactiveobj :{name:'小花'}
}

reactive基于proxy 数组不能直接赋值 否则破坏响应式对象

解决方法1:利用push+...解构

javascript 复制代码
let list = reactive<string[]>([])
const listhandle = () => {
  let res = ['as', 'asd', 'asdf']
  list = res // 赋值失败!
  list.push(...res) //数组利用解构赋值成功!
  console.log(list);

}

解决方法2:声明对象一个,数组为对象中的属性进行赋值

相关推荐
baiduopenmap11 分钟前
百度世界2024精选公开课:基于地图智能体的导航出行AI应用创新实践
前端·人工智能·百度地图
loooseFish19 分钟前
小程序webview我爱死你了 小程序webview和H5通讯
前端
小牛itbull22 分钟前
ReactPress vs VuePress vs WordPress
开发语言·javascript·reactpress
请叫我欧皇i31 分钟前
html本地离线引入vant和vue2(详细步骤)
开发语言·前端·javascript
533_33 分钟前
[vue] 深拷贝 lodash cloneDeep
前端·javascript·vue.js
guokanglun39 分钟前
空间数据存储格式GeoJSON
前端
GIS瞧葩菜43 分钟前
局部修改3dtiles子模型的位置。
开发语言·javascript·ecmascript
zhang-zan1 小时前
nodejs操作selenium-webdriver
前端·javascript·selenium
ZBY520311 小时前
【Vue】 npm install amap-js-api-loader指南
javascript·vue.js·npm
猫爪笔记1 小时前
前端:HTML (学习笔记)【2】
前端·笔记·学习·html