vue3之toRefs

2023-10-27

  • 把一个响应式对象转换成普通对象,该普通对象的每个属性都是一个ref,
  • reactive的响应式功能赋予给对象的,给对象结构或展开的时候,会让数据丢失响应式能力。
  • 使用toRefs可以保证该对象展开的每一个属性都是响应式的

案例一

<script>
import { reactive, ref, toRefs } from 'vue'
export default {
    setup() {
        const state = reactive({
            money: 100,
            car: {
                brand: "宝马",
                price: 100000,
            },
            name: '郑建'
        })
    }
    return {
        ...state
    }
}
</script>

上面返回的使用 使用...state, 使用了展开运算符展开state, 使得基本类型money、name属性失去了响应式,而car是一个对象,所以没有影响   还是响应式的。

案例二

下面解决案例一的问题

<script>
import { reactive, ref, toRefs } from 'vue'
export default {
    setup() {
        const state = reactive({
            money: 100,
            car: {
                brand: "宝马",
                price: 100000,
            },
            name: '郑建'
        })
    }
    return {
        ...toRefs(state)
    }
}
</script>

总结:把一个响应式对象转换成普通对象,该普通对象的每个属性都是一个ref, ref可以使基本类型变成响应式的,可以把复杂类型自动传为reactive,所以使得复杂类型也是响应式的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue3之toRefs 的相关文章

  • 每次页面重新启动时,Firebase.auth().currentUser 都会变为 null

    我正在使用 firebase 身份验证与 vue 应用程序 每次登录用户后重新启动页面时 currentUser 都会变为 null firebase auth signInWithEmailAndPassword this email t
  • Laravel Vue SPA 与 MPA/SSR

    许多 laravel vue 教程使用 ajax 调用来获取数据 看来 SPA 与 Laravel 是完全隔离的 IE Laravel 只是一个数据 API vue 应用程序也可以简单地托管在第三方外部服务器 例如 AWS S3 上 这是推
  • 如何为 VueJS 项目设置根/基 URL

    我已经部署了一个VueJS项目到像这样的域www example com 但是 我想将其移动到子文件夹 以便我可以像这样访问它www example com v1 如何设置基础 URL 或根 URLVueJS项目 注意 这与基本 URL 无
  • 将 Select2(多项选择)与 vue.js 结合使用

    我是 vue 新手 并遵循了他们的 自定义指令 http vuejs org examples select2 html http vuejs org examples select2 html 当仅选择一个项目时 此方法效果很好 但当您选
  • 使用 Javascript 在前端创建基本 URL(开发、API 和生产)

    无论开发和部署如何 如何制作适用于 http https localhost 端口和实际域的基本 url 我想创建一个可以在所有场景或条件下工作的基本 url 无论 http https 协议 端口 本地主机和实际域如何 无论是在开发中还是
  • 如何使用vue.js获取点击时按钮的值

    我在页面上有几个按钮 它们连接到相同的方法webcamSendRequestButton
  • Vuejs ssr 检查用户是否针对每个请求进行了身份验证

    我正在为我的应用程序使用这个 ssr 样板 https github com vuejs vue hackernews 2 0 https github com vuejs vue hackernews 2 0 我不知道如何实现逻辑来检查每
  • 如何在Vue中获取输入字段值

    我是 Vue 新手 我需要一些帮助来从输入字段获取值 在我的表格中 我有
  • Vue.js 更改 {{ }} 标签

    我想改变 something by 在 Vue js 中 我怎样才能实现这一点 这可能吗 我在 AngularJS 中寻找的等效项 var app angular module app function interpolateProvide
  • 无法使用Vue获取灵活元素的CSS属性值

    我正在尝试获取 CSSwidth灵活元素的属性 但由于某种原因它不起作用 代码笔 https codepen io anon pen pLEwdp editors 1010 https codepen io anon pen pLEwdp
  • 如何将 Jitsi Meet 添加到 Vuejs

    我已在 public html 的正文中加载了 jitsi meet 脚本 并且我有一个组件 如下所示
  • 个人Vue 3组件包缺少模板或渲染函数

    我最近将自己的 Vue 3 组件上传到 NPM 以供其他人使用 当在其他项目中使用它时 它会发出以下警告 Vue warn Component is missing template or render function at
  • Mapbox JS SDK CSS样式表导致地图消失

    我在 VueJS 应用程序中使用 Mapbox JavaScript SDK 我可以毫无问题地显示地图 现在我想添加一些标记 我懂了在本页 https docs mapbox com mapbox gl js api 您需要先导入 CSS
  • 从组件传递数据

    我对 Vue 相当陌生 我正在尝试将数据从组件传递到视图 我不确定我是否在使用props正确的 我有一个对话框 当我保存时 我想将数据插入数据库 我也想重复使用addCustomer function 这就是为什么我没有将该函数放置在组件中
  • Vue中有类似React.Fragment的东西吗?

    在 React 中我可以做这样的事情 parent component export default return div div 1 div div
  • 左侧导航菜单上部隐藏

    当滚动到页面最底部时 左侧导航菜单的顶部将被隐藏 The image before scrolling is shown below 滚动后的效果如下图 我不确定此问题的确切原因 因此我将不胜感激任何有关识别和解决该问题的建议或帮助 为了确
  • 在重复内容区域添加

    我有一个菜单组件 简单地说 它接受一个带有一系列选项的道具 并为每个选项在菜单中呈现一个项目 我希望能够根据用例自定义每个菜单项内的标记 因此我在菜单项元素内使用了占位符 你可以在这个中看到一个例子fiddle https jsfiddle
  • Vue 和 Vuex:处理依赖的计算属性

    我的应用程序是一个使用 Vuex 在 Vue 中构建的精简电子表格 关键组件是TableCollection Table and Row The TableCollection有一个包含多个的数组Table对象 每个Table有一个包含多个
  • 如何在生产模式下为 Chrome 扩展启用 Vue 开发工具?

    我正在构建一个 chrome 扩展 并使用 vue cli webpack 配置 我希望能够在运行后使用 vue devtoolsnpm 运行构建命令 我尝试添加Vue config devtools true 在 main js 中 或者
  • Javascript:更改输入值时设置光标位置

    当您输入公式时 我试图在我的应用程序中重现类似于 Microsoft Excel Google Sheets 的用户体验 并且您可以使用不同的公式和变量来自动完成下拉菜单 为此 在验证自动完成功能后 我希望能够控制光标的位置 例如 如果我输

随机推荐

  • 【力扣】19. 删除链表的倒数第 N 个结点 <链表指针、快慢指针>

    力扣 19 删除链表的倒数第 N 个结点 给你一个链表 删除链表的倒数第 n 个结点 并且返回链表的头结点 示例 1 输入 head 1 2 3 4 5 n 2 输出 1 2 3 5 示例 2 输入 head 1 n 1 输出 示例 3 输
  • conda: command not found(自用)

    conda create n cpdb python 3 9 创建环境时报错 conda command not found 查阅资料发现时环境变量的问题 于是 vim bashrc 打开文件 然后最后一行加入miniconda3的路径 e
  • 循环队列的操作原理

    一 循环队列的定义 为了克服顺序队列中假溢出 通常将一维数组Queue 0 到Queue MAXSIZE 1 看成是一个首 尾相连接的圆环 即Queue 0 与Queue MAXSIZE 1 相连接在一起 将这样形式的队列成为循环 队列 二
  • 微信小程序基础知识--表单

    一 input 属性 type 最大的输入长度 为空的占位 WXML 选项单选 默认选中状态 checked 二 选择到店时间 piker时间选择器组件 从底部弹起 开始和结束时间 有高度才能弹起选择时间 三 按钮 四 form组件 for
  • Windows Server 2012-dns区域传送+转发器

    dns区域传送 在主dns服务器上配置区域传送ip为被传送dns服务器ip 在被传送dns服务器中新建辅助区域 名称设为主dns服务器的域名 配置为主dns服务器的ip 完成 右键选择从服务器传输 然后刷新 成功 转发器 在主dns上配置条
  • 【实践】PPT制作从入门到精通(含素材资源大全)

    1 摘要 作为一个演讲者和一个解决方案工程师 写好满足场景和吸引眼球的PPT是必须的技能 辉哥把所有的私藏货拿出来 希望能给同行带来帮助 2 PPT技能 2 1 PPT技巧 2 1 1 PPT学习三部曲 PPT的学习分为三个阶段 练习基础操
  • 如何定制化Spring Boot Starter,这次我终于学会了

    文章目录 什么是Spring Boot Starter 实现步骤 启动器 自动配置包 总结自定义Starter的实现逻辑 Spring Boot Starter官网描述 Spring Boot Starter官方介绍 什么是Spring B
  • 测试相关知识点

    设计测试用例 主要从功能性 性能性 安全性 易用性 兼容性 网络测试这几个方面来设计 需要考虑问题的角度全面 注意如果是手机端app测试的话需要加上中断测试这项 考虑后台切换 app切换 拔插数据线 来短信 电话 其他app消息 1 微信朋
  • openMP + cuda 实现多GPU编程

    include
  • @FeignClient configuration参数配置

    1 我们定义Feign Client时候 可以通过configuration参数指定一个配置类 那么指定的这个配置入口类上面是否需要添加 Configuration 注解呢 FeignClient name OrderServiceClie
  • 渗透测试工具Burp Suite详解

    Burp Suite 的安装 Burp Suite是一款集成化的渗透测试工具 包含了很多功能 可以帮助我们高效地完成对Web应用程序的渗透测试和攻击 Burp Suite由Java语言编写 基于Java自身的跨平台性 使这款软件学习和使用起
  • ffmpeg 和 opencv 编译

    一 ffmpeg编译 ffmpeg 编译参数 configure enable gpl disable x86asm enable shared enable pic enable static 二 opencv编译 1 安装依赖库 sud
  • 两个栈实现队列 和 两个队列实现栈

    1 两个栈实现队列 核心 push操作 每次总是往stack1 push元素 pop操作 每次总是从stack2 pop元素 分stack2是否empty分为两种情况 static final Stack
  • FEC介绍(四)—RS(544,514)编解码过程【转载】

    https zhuanlan zhihu com p 103888948 utm source wechat session
  • JAVA基础知识点总结

    文章目录 前言 一 JAVA简介 二 基础语法 面向对象 String Integer Object 异常 IO 序列化 Java 泛型 注解 反射 前言 一 JAVA简介 Java 是一门面向对象的编程语言 语言特点 面向对象 平台无关性
  • ES6 flat 与数组扁平化

    前言 flat 用于将多维数组拉平 扁平化 不影响原数组 返回新的数组 1 2 3 4 flat 1 2 3 4 仅有一个参数depth 用于指定拉平的深度 默认值为1 若depth指定为非正数 将返回原数组 指定为Infinity 无论多
  • 线程间发布和订阅

    include
  • 刷脸支付可以自动识别会员可以领券打折

    刷脸支付说白了就是用自己的脸 身份证明 来跟金融做的一个消费交易 大家对于信息这个事情是非常敏感的 因此就会存在一个安全风险问题 还有就是对商家泄露的信息太多 造成消费者的担心等情况 也是时有发生 靠脸吃饭之前只是一句调侃 如今却成为了现实
  • 01 Java NIO NIO和IO的区别

    Java NIO NIO和IO的区别 NIO和IO的区别 面向流与面向缓冲 阻塞与非阻塞IO 选择器 Selectors NIO和IO如何影响应用程序的设计 API调用 数据处理 设置处理线程数 Java IO流专栏中主要介绍了java i
  • vue3之toRefs

    把一个响应式对象转换成普通对象 该普通对象的每个属性都是一个ref reactive的响应式功能赋予给对象的 给对象结构或展开的时候 会让数据丢失响应式能力 使用toRefs可以保证该对象展开的每一个属性都是响应式的 案例一