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:声明对象一个,数组为对象中的属性进行赋值

相关推荐
JunpengHu3 分钟前
CSS 滤镜(filter)
前端
你说啥名字好呢3 分钟前
【React Fiber的重要属性】
javascript·react.js·ecmascript
时雨__4 分钟前
uniapp转鸿蒙app内部测试发布过程——踩坑记录
前端·harmonyos
去伪存真11 分钟前
Android手机不支持文字转语音window.speechSynthesis API,怎么办?
前端
三年三月34 分钟前
自建HTTPS证书
前端·javascript
木易士心44 分钟前
如何优化v-if和v-for的性能?
前端·javascript
三年三月1 小时前
浏览器地址栏回车 vs 点击刷新按钮的缓存行为差异分析
前端·javascript
码农刚子1 小时前
ASP.NET Core Blazor 核心功能一:Blazor依赖注入与状态管理指南
前端·后端
胖虎2651 小时前
基于Vue3+xgplayer 移动端直播解决方案
前端
用户4099322502121 小时前
Vue 3模板如何通过编译三阶段实现从声明式语法到高效渲染的跨越
前端·ai编程·trae