Vue学习笔记(12)
迪丽瓦拉
2025-05-31 05:23:46
0

12.1 步入Vue3

Vue3是一款流行的JavaScript框架Vue的最新版本,它于2020年9月正式发布。Vue3主要着重于性能的提升、更好的开发体验以及更好的代码组织方式。

Vue3的主要特性和改进:

  1. 更快的性能:Vue3对虚拟DOM进行了重构,通过优化渲染和更新算法,可以显著提高性能。
  2. 更小的包大小:Vue3对代码进行了精简和优化,使其比Vue2更小。
  3. Composition APIVue3引入了Composition API,这是一种新的API风格,提供了更好的代码组织方式,使得开发人员可以更好地管理代码复杂度。
  4. 改进的TypeScript支持:Vue3通过TypeScript提供了更好的类型检查支持,这有助于减少代码错误和提高开发效率。
  5. TeleportVue3引入了Teleport,这是一种新的组件传送方式,可以方便地将组件渲染到DOM中的任何位置。
  6. 其他改进:Vue3还提供了许多其他改进,包括更好的错误处理、更好的调试支持、更好的跨平台支持等。

总体来说,Vue3是一个更强大、更易于使用和更快的框架,它为开发人员提供了更好的工具来构建现代Web应用程序。

12.2 setup

setupVue3引入的新选项,用于定义组件的状态和行为。在Vue2中,我们使用datacomputedmethods等选项来定义组件的状态和行为,但在Vue 3中,setup选项被引入,以提供更清晰的代码组织和更灵活的API

setup函数接收两个参数:propscontextprops是组件的属性对象,可以在函数内部使用,context是一个对象,包含了一些属性和方法,如attrsslotsemit等,用于访问组件的属性、插槽和自定义事件。

setup函数内部,我们可以使用refreactivecomputed等函数来定义组件的响应式数据和计算属性,还可以使用普通的JavaScript语法来定义方法和计算逻辑。例如:

import { ref, reactive, computed } from 'vue'
export default {props: {message: String},setup(props, context) {const count = ref(0)const state = reactive({name: 'Tom',age: 18})const doubleCount = computed(() => count.value * 2)function increment() {count.value++}return {count,state,doubleCount,increment}}
}

在模板中,我们可以直接访问setup函数返回的响应式数据、计算属性和方法。例如:


setupVue3中定义组件状态和行为的主要方式,它提供了更灵活、更清晰的API,可以帮助我们更好地组织代码。

12.3 响应式数据函数

12.3.1 ref函数

ref函数用于创建一个包装器对象,使得基本类型的值也可以响应式地更新。它接受一个初始值作为参数,并返回一个包装器对象,可以通过.value来访问包装的值,如下所示:

import { ref } from 'vue'
const count = ref(0)
console.log(count.value) // 0
count.value++ // 更新值
console.log(count.value) // 1

在模板中使用ref时,可以直接访问.value属性,如下所示:



12.3.2 reactive函数

reactive函数用于创建一个响应式的对象。它接受一个普通的JavaScript对象作为参数,并返回一个响应式代理对象,可以通过访问代理对象的属性来触发更新。例如:

import { reactive } from 'vue'
const state = reactive({count: 0,message: 'Hello, Vue 3!'
})
console.log(state.count) // 0
state.count++ // 更新对象属性
console.log(state.count) // 1

在模板中使用响应式对象时,可以直接访问对象的属性,如下所示:



12.3.3 ref和reactive函数的异同

refreactiveVue3中用于创建响应式数据的两个函数,它们有一些相同点和不同点。

相同点:

  1. 都可以创建响应式数据,使得数据状态的更新更加自然和高效。
  2. 在使用上都可以像普通对象一样访问和修改属性。
  3. 都可以在setup函数内部使用。

不同点:

  1. ref函数用于创建一个包装器对象,使得基本类型的值也可以响应式地更新,而reactive函数用于创建一个响应式的对象。
  2. 使用ref函数创建的响应式数据在访问时需要通过.value来访问包装的值,而使用reactive函数创建的响应式数据直接访问对象属性即可。
  3. ref函数只能包装一个值,而reactive函数可以包装一个对象,可以包含多个属性。
  4. ref函数返回的是一个包装器对象,而reactive函数返回的是一个响应式代理对象。
  5. ref函数还有一些其他的API,如.unref().isRef()等,用于对包装器对象进行操作和判断,而reactive函数则没有。

refreactive函数是Vue 3中用于创建响应式数据的两种常用方式,它们使得数据状态的更新更加自然和高效。使用哪种方式取决于需要创建的数据类型,如果是基本类型,可以使用ref,如果是对象类型,可以使用reactive

相关内容

热门资讯

linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
C++ 机房预约系统(六):学... 8、 学生模块 8.1 学生子菜单、登录和注销 实现步骤: 在Student.cpp的...
A.机器学习入门算法(三):基... 机器学习算法(三):K近邻(k-nearest neigh...
数字温湿度传感器DHT11模块... 模块实例https://blog.csdn.net/qq_38393591/article/deta...
有限元三角形单元的等效节点力 文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(Nÿ...
Redis 所有支持的数据结构... Redis 是一种开源的基于键值对存储的 NoSQL 数据库,支持多种数据结构。以下是...
win下pytorch安装—c... 安装目录一、cuda安装1.1、cuda版本选择1.2、下载安装二、cudnn安装三、pytorch...
MySQL基础-多表查询 文章目录MySQL基础-多表查询一、案例及引入1、基础概念2、笛卡尔积的理解二、多表查询的分类1、等...
keil调试专题篇 调试的前提是需要连接调试器比如STLINK。 然后点击菜单或者快捷图标均可进入调试模式。 如果前面...
MATLAB | 全网最详细网... 一篇超超超长,超超超全面网络图绘制教程,本篇基本能讲清楚所有绘制要点&#...