首页 > 其他分享 >Vue 2 和 Vue 3 中 toRefs的区别

Vue 2 和 Vue 3 中 toRefs的区别

时间:2023-07-29 14:11:30浏览次数:28  
标签:Vue 函数 区别 refs toRefs 属性 name

摘要:本文将介绍 Vue 2 和 Vue 3 中 toRefs 函数的不同用法和行为,并解释其在各个版本中的作用。

正文:

Vue 是一款流行的 JavaScript 框架,用于构建用户界面。在 Vue 2 和 Vue 3 中,都存在一个名为 toRefs 的函数,但其行为在这两个版本中有所不同。

Vue 2 中的 toRefs

在 Vue 2 中,使用 Composition API 需要安装 @vue/composition-api 库,并显式导入 toRefs 函数。toRefs 函数接受一个响应式对象作为参数,并将该对象的属性转换为非响应式的引用(ref)。

import { reactive, toRefs } from "@vue/composition-api";

export default {
  setup() {
    const state = reactive({ name: 'John', age: 30 });
    const refs = toRefs(state);
    
    console.log(refs.name.value); // 访问 name 属性的值

    return {
      refs,
    };
  },
};

在 Vue 2 中,通过使用 toRefs,我们可以在模板和代码中方便地使用响应式对象的属性。

Vue 3 中的 toRefs

在 Vue 3 中,toRefs 函数与 Vue 2 中的版本略有不同。在 Vue 3 中,不再需要安装额外的库,toRefs 函数已经作为内置功能提供。此外,Vue 3 的 Composition API 是默认支持的。

import { reactive, toRefs } from 'vue';

export default {
  setup() {
    const state = reactive({ name: 'John', age: 30 });
    const refs = toRefs(state);
    
    console.log(refs.name.value); // 访问 name 属性的值

    return {
      refs,
    };
  },
};

在 Vue 3 中,我们可以直接使用 toRefs 函数将响应式对象的属性转换为单独的 ref 对象。这样,我们可以在代码中或模板中以 .value 的形式访问属性的值。

总结

在 Vue 2 中,toRefs 需要使用 @vue/composition-api 库,而在 Vue 3 中,toRefs 已经成为内置的功能。

Vue 2 和 Vue 3 中的 toRefs 函数都用于将响应式对象的属性转换为引用,以便在组件内部以及模板中使用。然而,在 Vue 3 中,toRefs 可以直接使用,而不需要额外的安装和导入过程。

这就是 Vue 2 和 Vue 3 中 toRefs 的区别。

标签:Vue,函数,区别,refs,toRefs,属性,name
From: https://www.cnblogs.com/new-one/p/17589736.html

相关文章

  • Vue3 里 script 的三种写法
    一、Vue3里 script 的三种写法首先,Vue3新增了一个叫做组合式api的东西,英文名叫CompositionAPI。因此Vue3的script现在支持三种写法,1、最基本的Vue2写法html复制代码<template><div>{{count}}</div><button@click="onClick">增加1</but......
  • 在SpringBoot 和 Vue的项目中使用SpringBoot-email
    在SpringBoot+Vue的项目中使用SpringBoot-email发送验证码,具体步骤如下:添加依赖首先需要在pom.xml文件中添加依赖:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency>配置邮箱信息在applicat......
  • alpha测试和beta测试的区别是什么?
    alpha测试简称“α测试”,可以从软件产品编码结束之时开始,或在模块(子系统)测试完成之后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。【测试时间不同】α测试的目的是评价软件产品的FLURPS(即功能、局域化、可用性、可靠性、性能和支持)。尤其注重产品的界......
  • 【技术实战】Vue技术实战【五】
    需求实战一效果展示代码展示<template><divclass="home-component"><divclass="progress-container"><a-progresstype="circle":percent="number"/></div>&......
  • vue-cli3.0 项目无法通过ip访问
    第一:在 package.json中添加 --host0.0.0.0 第二:在 vue.config.js中添加host:0.0.0.0 ......
  • vue3 TS vite element ali-oss使用方式
    vue3TSviteelementali-oss使用方式安装ali-oss包npmiali-oss-S使用oss封装函数constOSS=require('ali-oss')//importOssfrom'ali-oss'/***[accessKeyId]{String}:通过阿里云控制台创建的AccessKey。*[accessKeySecret]{String}:通过阿里云控制......
  • vue3单页面的写法
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><scriptsrc="https://unpkg.com/vue@3/dist/vue.global.js"></script></head>......
  • Vue3下的axios跨域问题
    0、vue-cli版本vue-Vvue--version   1、根目录找vue.config.js,无则添加文件;然后添加节点: const{defineConfig}=require('@vue/cli-service')module.exports=defineConfig({transpileDependencies:true,lintOnSave:false,//关闭语法检查de......
  • 描述符,元类,魔术方法之间的关系和区别
    描述符(Descriptor)、元类(Metaclass)和魔术方法(Magicmethods)是Python中三个不同的概念,它们在不同的层次上提供了不同的功能和行为。描述符(Descriptor):描述符是一种实现了特定协议的对象,它可以被用作类的属性,控制对属性的访问和修改。描述符通常定义了__get__、__set__和__delete__等......
  • vue使用directives V-指令限制输入框内容
    在一些表单中输入框需要前端加入限制,比如需要用户输入的是非负数的整数,这时候我们可以使用v-指令只要在input里加上就行。不需要一个个的去校验,省去的校验的代码<el-input-numberv-model="typeModel.jyCheckNum"clearableplaceholder="请输入不合格数"size="small"v-ente......