首页 > 其他分享 >vue toRef 作用和例子

vue toRef 作用和例子

时间:2024-09-11 22:21:03浏览次数:3  
标签:vue name 对象 toRef state 例子 ref 属性

toRef 是 Vue 3 中的一个实用函数,用于从响应式对象中创建一个指向该对象属性的响应式引用(ref)。这个函数的主要用途是在保留响应性的同时,将对象中的某个属性暴露给另一个作用域或组件。

主要作用

  1. 分离引用

    • 当你需要将对象中的某个属性单独暴露出去时,toRef 可以帮助你只选择这个特定的属性作为 ref 对象,而不是整个对象。这在某些情况下可以避免不必要的数据绑定或传递整个对象。
  2. 保留响应性

    • 使用 toRef 创建的 ref 在其原始对象属性发生变化时仍然会自动更新。这意味着即使对象内部的状态改变了,通过 toRef 获取的 ref 也会反映出这种变化,而无需再次读取对象的属性。
  3. 提升性能

    • 在某些情况下,如果一个对象很大且包含多个属性,但你只需要其中的一个或几个属性,那么使用 toRef 只跟踪这些特定属性的变化,可以减少不必要的计算和渲染。

使用示例

假设你有一个响应式的用户对象 user,其中包含 nameage 属性:

import { reactive, toRef } from 'vue';

const state = reactive({
  name: 'Alice',
  age: 28,
});

// 使用 toRef 把 name 属性转换成 ref
const userName = toRef(state, 'name');

// 现在 userName 就是一个 ref,当 state.name 发生改变时,userName 也会相应地更新
state.name = 'Bob';
console.log(userName.value); // 输出 "Bob"

注意事项

  • toRef 不会追踪它所创建的 ref 的变化,也就是说,如果你直接修改了 userName.valuestate.name 不会更新。这是因为 toRef 创建的是一个指向原始属性的引用,而不是一个双向绑定。
  • 如果你想要追踪一个 ref 的变化并同时更新原始对象,你应该考虑使用 computed 函数或者直接操作原始对象。

总的来说,toRef 是一个非常实用的小工具,它允许你在处理复杂的响应式数据结构时更加灵活。

标签:vue,name,对象,toRef,state,例子,ref,属性
From: https://blog.csdn.net/ivan5277/article/details/142151952

相关文章

  • 基于SpringBoot+Vue+uniapp的学习交流论坛+vue的详细设计和实现(源码+lw+部署文档+讲
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • 基于SpringBoot+Vue+uniapp的实验室考勤管理系统网页的详细设计和实现(源码+lw+部署文
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • 基于SpringBoot+Vue+uniapp的校园资讯推荐系统的详细设计和实现(源码+lw+部署文档+讲
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • 基于SpringBoot+Vue+uniapp的学院学生论坛的+vue的详细设计和实现(源码+lw+部署文档+
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • VUE3新特征
    一、支持组合式api1.1、setup()程序的入口        在Vue3中,setup() 函数是一个新的组件选项,作为使用CompositionAPI的入口点。这个函数是在组件被创建之前被调用,它是 beforeCreate 和 created 生命周期钩子之前被执行的地方。它使得逻辑复用和代码组织变......
  • 10个 Vue3 精华知识点,你知道几个?
    本文不适合Vue初学者,如果你是Vue2迁移者或者是准备面试的话,那么本文肯定很适合你,废话不多说Vue2和Vue3有什么区别对Vue3的了解/Vue3是怎么得更快的?新增了三个组件:Fragment支持多个根节点、Suspense可以在组件渲染之前的等待时间显示指定内容、Teleport......
  • 【F173】基于Springboot+vue实现的智慧校园管理系统
    主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。收藏点赞不迷路,关注作者有好处项目描述如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产......
  • Vue与React的Diff算法
    虚拟DOM定义虚拟DOM是一种用于在前端开发中模拟真实DOM的技术。它是一种抽象的数据结构(简单来说就是一个Javascript对象),用于描述HTML或XML文档的结构和内容。通过将页面的状态和结构保存在内存中,而不是直接操作真实的DOM,虚拟DOM能够减少不必要的DOM操作,从而提高页面性能。......
  • 基于springboot+vue乒乓球预约管理系统
    基于springboot+vue+mysql实现的乒乓球预约管理系统(源码+数据库+部署视频)###主要技术SpringBoot、LayUI、Vue、MySQL###系统角色用户、管理员###系统功能前台:首页、乒乓球场、公告信息、留言反馈、个人中心后台:个人中心、用户管理、乒乓球场管理、场地类型管理......
  • 快速搭建最简单的前端项目vue+View UI Plus
    1引言‌‌Vue是一套用于构建Web前端界面的渐进式JavaScript框架。‌‌它以其易学易用、性能出色、灵活多变而深受开发者喜爱,并且与其他前端框架(如‌React和‌Angular)相比,在国内市场上受到了广泛的认可和使用。点击进入官方网站。ViewUIPlus是ViewDesign设计体系中......