ref和reactive的使用

ref和reactive的使用场景区别

  • ref可以包装基本类型、数组、对象;reactive只能用来包装引用类型。
  • ref包装的数组和对象可以整体赋值,reactive包装的引用类型不能整体被赋值
  • ref在script中需要'.value'出来;reactive不需要

常常这样用

复制代码
1、基本类型用ref
let n = ref(0);
n.value = 1;
2、数组用ref
let arr = ref([1,2]);
arr.value = [1,2,3];
3、对象用reactive
let obj = reactive({name: 'jim'});
Object.assign(obj,{age: 18});  -> {name:'jim', age:18}

使用ref获取dom

复制代码
<div ref="xx">
API选项中:
this.$refs.xx
setup中:
const xx = ref(),在onMounted中使用

customRef(costomRef可以理解为被拦截的ref)

复制代码
const myRef = (value) => {
  return customRef((track, trigger) => {
    return {
      get() {
        track()
        return value
      },
      set(newValue) {
        if(newValue < 10) {
          value = newValue
          // 延迟渲染
          setTimeout(() => {
            trigger()
          }, 2000);
        }
      }
    }
  })
}

从reactive对象中解构出属性作为响应式数据使用

复制代码
let obj = reactive({
 name: 'jim',
 age: 18
})
let {name, age} = toRefs(obj) // 此时name和age就是响应式的数据
相关推荐
SEO_juper1 分钟前
手写 llms.txt 验证器:让 AI 更愿意引用你的网站(GEO)
开发语言·人工智能·python·聚类·seo·独立站
CCCCCCCCharlie2 分钟前
从0到1:一个字节的磁盘之旅
linux·开发语言·c++
比兔代理5 分钟前
纯净IP是什么?从IP信誉、黑名单与ASN角度原理解析
开发语言·php
IT_陈寒8 分钟前
Vue开发实战:从入门到精通
前端·人工智能·后端
benjiangliu16 分钟前
恩培趣味计算机视觉-01-conda环境和Python库
开发语言·python·conda
我喜欢就喜欢20 分钟前
DeepSeek Harness 开源贡献手记:从零到合入主线
开发语言·人工智能
znnnk23 分钟前
2026 前端工程化新纪元:Rust 重塑工具链,AI Agent 接管流水线
前端·人工智能·rust
坐看风云变幻26 分钟前
《嵌入式工程师的软硬件修仙之路》第 2 期|C 语言筑基:指针与内存模型
c语言·开发语言
王大师王文峰34 分钟前
HTML 入门到进阶:语义化标签、表单与多媒体一篇打通【语义化布局、表单校验、video/audio、Canvas、无障碍与 SEO】
前端·css·node.js·html·css3·jquery·html5
开开心心就好35 分钟前
安卓PDF处理工具,免费无广告零弹窗
android·服务器·开发语言·算法·pdf·ocr