vue3的ref、isRef、toRef、toRefs、toRaw详细介绍

请听我为您详细介绍vue3中ref、isRef、toRef、toRefs、toRaw的作用和用法。

一、ref

refVue3提供的一个响应式数据类型,将非响应式数据转换为响应式数据。 ref接收一个参数,返回的是一个对象,通过修改对象的value属性来更新数据。

import { ref } from 'vue'

const count = ref(0)

console.log(count.value) // 输出:0

count.value++ // 改变数据

console.log(count.value) // 输出:1

二、isRef

isRef是Vue3提供的一个函数,用于判断值是否是一个ref响应式引用对象。

import { ref, isRef } from 'vue'

const count = ref(0)

console.log(isRef(count)) // 输出:true

console.log(isRef(count.value)) // 输出:false

三、toRef

toRef是Vue3提供给我们一个函数,它用于接收一个对象和对象的某个属性名作为参数,并返回该对象某个属性名与ref相似的响应式对象。

import { reactive, toRef } from 'vue'

const data = reactive({
  name: '张三',
  age: 18,
  gender: '男'
})

const ageRef = toRef(data, 'age')

console.log(ageRef.value) // 输出:18

ageRef.value += 1 // 修改ageRef的值,data.age的值也会更新

console.log(data.age) // 输出:19

四、toRefs

toRefs是Vue3提供给我们一个函数,它用于接收一个响应式对象,将其所有属性转换为响应式对象引用。

import { reactive, toRefs } from 'vue'

const data = reactive({
  name: '张三',
  age: 18,
  gender: '男'
})

const refs = toRefs(data)

console.log(refs.name.value) // 输出:张三

refs.age.value += 1 // 修改ageRef的值,data.age的值也会更新

console.log(data.age) // 输出:19

五、toRaw

toRaw是Vue3提供的一个函数,用于返回被reactive、ref、toRef或者toRefs包装的对象的原始对象。

import { reactive, toRaw } from "vue";

const data = reactive({ name: "张三", age: 18 });

const original = toRaw(data);

console.log(original === data) // 输出:false

以上就是vue3的ref、isRef、toRef、toRefs、toRaw的详细介绍。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue3的ref、isRef、toRef、toRefs、toRaw详细介绍 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • vue文件运行的方法教学

    下面是关于vue文件运行的方法教学的完整攻略。 什么是Vue文件 Vue文件是基于Vue框架搭建的Vue项目的组成文件之一。它是一个单文件组件,结合HTML、CSS、JavaScript等多种语言的代码,用于实现Vue组件的功能。 Vue文件的基本结构如下: <template> <!–模板代码–> </template&g…

    Vue 2023年5月28日
    00
  • 基于mpvue的小程序项目搭建的步骤

    下面就给你讲解一下“基于mpvue的小程序项目搭建的步骤”的完整攻略。 1. 环境准备 首先我们需要确保自己的环境已经准备好,包括: Node.js 环境(建议版本 v10.x 或以上) 小程序开发工具(开发时用于预览和调试) 命令行工具(Windows 系统可以使用 PowerShell,macOS 和 Linux 系统自带终端) 安装好上述工具之后,我们…

    Vue 2023年5月27日
    00
  • Vue-CLI 3 scp2自动部署项目至服务器的方法

    下面是“Vue-CLI 3 scp2自动部署项目至服务器的方法”的完整攻略。 1. 安装scp2与ssh2 首先需要安装scp2和ssh2,可以通过npm安装。 npm install scp2 ssh2 –save-dev 2. 准备打包脚本 在package.json中新增打包脚本命令: "build:prod": "vu…

    Vue 2023年5月28日
    00
  • 关于Element-ui中Table表格无法显示的问题及解决

    关于Element-ui中Table表格无法显示的问题及解决 问题描述 在使用Element-ui的Table组件时,可能会遇到表格无法渲染的问题,常见的表现为表格的thead正常显示,但tbody中没有任何数据显示。 可能原因 数据不符合要求。 Table组件配置不正确。 Element-ui版本不兼容。 解决方案 1. 数据不符合要求 在使用Table组…

    Vue 2023年5月28日
    00
  • 深入浅析vue-cli@3.0 使用及配置说明

    深入浅析vue-cli@3.0 使用及配置说明 什么是vue-cli@3.0 vue-cli@3.0 是 Vue.js 的脚手架工具,它可以帮助我们快速生成一个基于 Vue.js 的项目开发所需的目录和文件,并提供了一些常用的功能,例如:本地开发调试、构建打包、自动化部署等。 vue-cli@3.0 相对于之前的版本,最大的改变是它采用了完全重构的架构,即把…

    Vue 2023年5月28日
    00
  • vue3 源码解读之 time slicing的使用方法

    Vue3 源码解读之 time slicing 的使用方法 简介 time-slicing 是一种将任务拆分为多个小任务,分散到渲染帧之间执行的技术。Vue3 在异步更新和大型列表渲染问题上 应用了 time-slicing 技术,以加快页面渲染速度。本篇文章将探讨 time-slicing 的使用方法,通过实例帮助我们理解这个 新特性。 使用方法 尽管 V…

    Vue 2023年5月29日
    00
  • Vue-CLI与Vuex使用方法实例分析

    Vue-CLI与Vuex使用方法实例分析 Vue-CLI Vue-CLI是Vue.js官方提供的一个脚手架工具,它可以帮助我们快速搭建基于Vue.js的项目,并提供一些常用的插件和配置。 安装Vue-CLI 安装前请确保已安装Node.js和npm(Node.js的包管理器),在命令行中执行以下命令: npm install -g vue-cli 创建Vue…

    Vue 2023年5月27日
    00
  • Vue privide 和inject 依赖注入的使用详解

    Vue中,provide和inject是实现依赖注入的两个函数。在组件树中,父组件可以通过provide提供一些数据或方法,子组件可以通过inject来注入这些数据或方法。 在使用provide向下传递时,我们可以把需要传下去的属性或方法放在一个对象中。如下面的例子: // Parent.vue <template> <div> &l…

    Vue 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部