vue3使用ref和reactive的示例详解
Vue 3引入了两个新的API,ref
和reactive
,用于创建响应式对象。这两个方法都位于Vue.prototype
上,因此可以在组件实例中直接使用。
ref
ref
函数用于创建一个响应式引用对象。这个函数可以接受一个普通的变量或对象作为参数,并返回一个响应式引用对象。要访问这个引用的值,需要使用.value
属性。
例如:
const count = ref(0); console.log(count.value); // 0 count.value++; // 响应式更新 console.log(count.value); // 1
在上面的例子中,我们使用ref
函数创建了一个响应式引用对象,并将其初始值设置为0。然后,我们可以通过.value
属性来访问和修改这个引用的值。当修改这个值时,Vue会自动更新相关的视图。
reactive
reactive
函数用于创建一个响应式对象。这个函数可以接受一个普通的对象作为参数,并返回一个响应式代理对象。这个代理对象会拦截所有的属性访问和修改操作,并自动更新相关的视图。
例如:
const state = reactive({ count: 0 }); console.log(state.count); // 0 state.count++; // 响应式更新 console.log(state.count); // 1
在上面的例子中,我们使用reactive
函数创建了一个响应式对象,并将其初始值设置为一个包含count
属性的对象。然后,我们可以通过直接访问和修改这个对象的属性来触发响应式更新。与ref
不同的是,我们不需要使用.value
属性来访问和修改这个对象的属性。
Vue 3 使用 ref
和 reactive
创建响应式对象的完整示例:
<template> <div> <p>{{ count }}</p> <button @click="increment">Increment</button> </div> </template> <script> import { ref, reactive } from 'vue'; export default { setup() { // 使用 ref 创建响应式引用对象 const count = ref(1); // 使用 reactive 创建响应式对象 const state = reactive({ count: 0, }); // 使用 increment 方法修改引用对象的值和响应式对象的属性值 const increment = () => { count.value++; // 修改引用对象的值 state.count++; // 修改响应式对象的属性值 }; return { count, state, increment, }; }, }; </script>
在上面的示例中,我们使用 ref
创建了一个名为 count
的响应式引用对象,初始值为 1
。我们还使用 reactive
创建了一个名为 state
的响应式对象,其中包含一个名为 count
的属性,初始值为 0
。在 increment
方法中,我们通过调用 count.value++
和 state.count++
来修改引用对象的值和响应式对象的属性值。由于这些变量都是响应式的,因此当它们的值发生变化时,相关的视图也会自动更新。
到此这篇关于vue3使用ref和reactive的文章就介绍到这了,更多相关vue3使用ref和reactive内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
vue引入jquery时报错 $ is not defined的问题及解决
这篇文章主要介绍了vue引入jquery时报错 $ is not defined的问题及解决,具有很好的参考价值,希望对大家有所帮助。2022-09-09Vue 3 中的 toRef 和 toRefs 函数案例讲解
这篇文章主要介绍了Vue 3 中的 toRef 和 toRefs 函数,toRef 和 toRefs 函数是 Vue 3 中的两个非常有用的函数,它们可以帮助我们更好地管理组件中的响应式数据,并且可以提高组件的性能和用户体验,需要的朋友可以参考下2024-06-06vue项目如何引入element ui、iview和echarts
这篇文章主要介绍了vue项目如何引入element ui、iview和echarts,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-09-09
最新评论