Vue3的reactive函数如何改写为长尾?

2026-04-02 02:411阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计892个文字,预计阅读时间需要4分钟。

Vue3的reactive函数如何改写为长尾?

文章目录:

一、常用 Composition API

二、reactive 函数

三、个人其他相关文章链接

四、常用 Composition API 问题:什么是组合式API?

答案:请查看官方文档:[官方文档链接]


文章目录

  • ​​二、常用 Composition API​​
  • ​​3.reactive函数​​
  • ​​本人其他相关文章链接​​

二、常用 Composition API

问题:啥叫“组合式API”?

答案:请看官方文档: ​​ v3.cn.vuejs.org/guide/composition-api-introduction.html​​

3.reactive函数

  • 作用: 定义一个对象类型的响应式数据(基本类型不要用它,要用​​ref​​函数)
  • 语法:​​const 代理对象= reactive(源对象)​​接收一个对象(或数组),返回一个代理对象(Proxy的实例对象,简称proxy对象)
  • reactive定义的响应式数据是“深层次的”。
  • 内部基于 ES6 的 Proxy 实现,通过代理对象操作源对象内部数据进行操作。

注意点1:

问题:reactive函数使用基本类型数据会报错

答案:


注意点2:总结:基础类型数据推荐适用ref函数,引用类型数据推荐适用reactive函数

和ref知识点的注意点4有区别,如果想使用reactive函数实现引用数据响应式,使用job

setup(){
let job = reactive({
type:'前端工程师',
salary:'30K'
})

//方法
function changeInfo(){
job.type = 'UI设计师'
job.salary = '60K'
}

如果想使用ref函数实现引用数据响应式,使用job.value

Vue3的reactive函数如何改写为长尾?

setup(){
let job = ref({
type:'前端工程师',
salary:'30K'
})

//方法
function changeInfo(){
job.value.type = 'UI设计师'
job.value.salary = '60K'
}

注意点3:
当然也可以把基础类型数据和引用类型数据封装成一个代理对象,通过reactive函数关联,使用起来也很方便,缺点是还是写了很多person.xxx重复字符串

<template>
<h1>一个人的信息</h1>
<h2>姓名:{{person.name}}</h2>
<h2>年龄:{{person.age}}</h2>
<h3>工作种类:{{person.job.type}}</h3>
<h3>工作薪水:{{person.job.salary}}</h3>
<h3>爱好:{{person.hobby}}</h3>
<h3>测试的数据c:{{person.job.a.b.c}}</h3>
<button @click="changeInfo">修改人的信息</button>
</template>

<script>
import {reactive} from 'vue'
export default {
name: 'App',
setup(){
//数据
let person = reactive({
name:'张三',
age:18,
job:{
type:'前端工程师',
salary:'30K',
a:{
b:{
c:666
}
}
},
hobby:['抽烟','喝酒','烫头']
})

//方法
function changeInfo(){
person.name = '李四'
person.age = 48
person.job.type = 'UI设计师'
person.job.salary = '60K'
person.job.a.b.c = 999
person.hobby[0] = '学习'
}

//返回一个对象(常用)
return {
person,
changeInfo
}
}
}
</script>

本文共计892个文字,预计阅读时间需要4分钟。

Vue3的reactive函数如何改写为长尾?

文章目录:

一、常用 Composition API

二、reactive 函数

三、个人其他相关文章链接

四、常用 Composition API 问题:什么是组合式API?

答案:请查看官方文档:[官方文档链接]


文章目录

  • ​​二、常用 Composition API​​
  • ​​3.reactive函数​​
  • ​​本人其他相关文章链接​​

二、常用 Composition API

问题:啥叫“组合式API”?

答案:请看官方文档: ​​ v3.cn.vuejs.org/guide/composition-api-introduction.html​​

3.reactive函数

  • 作用: 定义一个对象类型的响应式数据(基本类型不要用它,要用​​ref​​函数)
  • 语法:​​const 代理对象= reactive(源对象)​​接收一个对象(或数组),返回一个代理对象(Proxy的实例对象,简称proxy对象)
  • reactive定义的响应式数据是“深层次的”。
  • 内部基于 ES6 的 Proxy 实现,通过代理对象操作源对象内部数据进行操作。

注意点1:

问题:reactive函数使用基本类型数据会报错

答案:


注意点2:总结:基础类型数据推荐适用ref函数,引用类型数据推荐适用reactive函数

和ref知识点的注意点4有区别,如果想使用reactive函数实现引用数据响应式,使用job

setup(){
let job = reactive({
type:'前端工程师',
salary:'30K'
})

//方法
function changeInfo(){
job.type = 'UI设计师'
job.salary = '60K'
}

如果想使用ref函数实现引用数据响应式,使用job.value

Vue3的reactive函数如何改写为长尾?

setup(){
let job = ref({
type:'前端工程师',
salary:'30K'
})

//方法
function changeInfo(){
job.value.type = 'UI设计师'
job.value.salary = '60K'
}

注意点3:
当然也可以把基础类型数据和引用类型数据封装成一个代理对象,通过reactive函数关联,使用起来也很方便,缺点是还是写了很多person.xxx重复字符串

<template>
<h1>一个人的信息</h1>
<h2>姓名:{{person.name}}</h2>
<h2>年龄:{{person.age}}</h2>
<h3>工作种类:{{person.job.type}}</h3>
<h3>工作薪水:{{person.job.salary}}</h3>
<h3>爱好:{{person.hobby}}</h3>
<h3>测试的数据c:{{person.job.a.b.c}}</h3>
<button @click="changeInfo">修改人的信息</button>
</template>

<script>
import {reactive} from 'vue'
export default {
name: 'App',
setup(){
//数据
let person = reactive({
name:'张三',
age:18,
job:{
type:'前端工程师',
salary:'30K',
a:{
b:{
c:666
}
}
},
hobby:['抽烟','喝酒','烫头']
})

//方法
function changeInfo(){
person.name = '李四'
person.age = 48
person.job.type = 'UI设计师'
person.job.salary = '60K'
person.job.a.b.c = 999
person.hobby[0] = '学习'
}

//返回一个对象(常用)
return {
person,
changeInfo
}
}
}
</script>