Vue.js 响应式数据
什么是响应式数据?
响应式数据是 Vue.js 的核心特性之一。当数据发生变化时,视图会自动更新,无需手动操作 DOM。这种数据驱动的方式让开发变得更加简单和高效。
响应式原理
Vue 3 使用 Proxy 来实现响应式系统,而 Vue 2 使用的是 Object.defineProperty。
Vue 3 响应式系统
ref 和 reactive 的区别
ref
ref 用于创建响应式的基本类型数据(字符串、数字、布尔值等)。
reactive
reactive 用于创建响应式对象。
响应式数据的使用场景
1. 表单输入
2. 列表数据
toRef 和 toRefs
当需要将响应式对象的属性转换为独立的 ref 时,可以使用 toRef 和 toRefs。
响应式数据的注意事项
1. ref 需要 .value
在 JavaScript 中访问 ref 的值时,必须使用 .value:
2. reactive 的限制
reactive 只能用于对象类型,不能用于基本类型:
3. 解构会失去响应性
直接解构 reactive 对象会失去响应性:
实战示例:购物车
总结
- Vue 3 使用 Proxy 实现响应式系统
ref用于基本类型,reactive用于对象- 在 JavaScript 中访问 ref 需要使用
.value - 使用
toRefs可以保持解构后的响应性 - 响应式数据让视图自动更新,简化了开发流程
下一步
接下来学习 计算属性和侦听器,了解如何基于响应式数据进行派生计算和监听变化。