欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > Vue3 基础语法指南:响应式系统与 Ref 应用

Vue3 基础语法指南:响应式系统与 Ref 应用

2025/5/20 5:41:33 来源:https://blog.csdn.net/lh_1254/article/details/146427736  浏览:    关键词:Vue3 基础语法指南:响应式系统与 Ref 应用
1、Reactive 的深度响应式

1.1、基本用法

vue

<script setup>
import { reactive } from 'vue'const state = reactive({count: 0,user: {name: 'Alice',age: 30}
})const increment = () => state.count++
const updateName = () => state.user.name = 'Bob'
</script>

1.2、Todolist 实战

vue

<script setup>
import { reactive } from 'vue'const state = reactive({todos: [{ id: 1, text: 'Learn Vue3', done: false }],newTodo: ''
})const addTodo = () => {state.todos.push({id: Date.now(),text: state.newTodo,done: false})state.newTodo = ''
}
</script>
2、Ref 的灵活应用

2.1、基础使用

vue

<script setup>
import { ref } from 'vue'const count = ref(0)
const user = ref({ name: 'Alice' })const increment = () => count.value++
const updateName = () => user.value.name = 'Bob'
</script>

2.2、Ref vs Reactive

特性RefReactive
适用类型基本类型 / 对象类型对象类型
响应式本质通过.value 访问响应式数据直接访问响应式数据
深层响应对象类型自动转为 Reactive深度响应
性能优化基本类型更高效对象类型更高效

使用原则

javascript

// 基本类型
const num = ref(0)// 浅层次对象
const user = ref({ name: 'Alice' })// 深层次对象
const complex = reactive({a: { b: { c: 0 } }
})

2.3、标签与组件引用

DOM 元素引用

vue

<template><h1 ref="title">Hello Vue3</h1><button @click="updateTitle">Update</button>
</template><script setup>
import { ref } from 'vue'const title = ref<HTMLHeadingElement>(null)
const updateTitle = () => {title.value.style.color = 'red'title.value.textContent = 'Updated!'
}
</script>

组件实例引用

vue

<!-- 父组件 -->
<template><MyComponent ref="child" /><button @click="callChildMethod">Call Child</button>
</template><script setup>
import MyComponent from './MyComponent.vue'
import { ref } from 'vue'const child = ref()
const callChildMethod = () => {child.value.sayHello()console.log(child.value.count)
}
</script><!-- 子组件 -->
<script setup>
import { ref, defineExpose } from 'vue'const count = ref(0)
const sayHello = () => console.log('Hello!')defineExpose({count,sayHello
})
</script>
总结对比
功能点Setup 函数ReactiveRef
作用组件逻辑入口深度响应式对象灵活响应式变量
适用场景所有组合式 API 使用复杂对象状态管理基础类型 / 简单对象管理
性能考量优先使用组合式 API对象层级越深越推荐基本类型优先
特殊能力访问 props/context自动依赖收集模板引用

通过合理运用这些特性,可以构建出更高效、更易维护的 Vue3 应用。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词