首页 > 其他分享 >VUE框架Vue3使用toRaw和markRaw标记为原始和转换为原始对项目效率进行优化------VUE框架

VUE框架Vue3使用toRaw和markRaw标记为原始和转换为原始对项目效率进行优化------VUE框架

时间:2024-09-16 13:22:02浏览次数:14  
标签:VUE 框架 对象 toRaw 原始 rawObj markRaw data

<template>
    <h1>{{ counter1 }}</h1>
    <hr>
    <h1>{{ data.x }}</h1>
    <button @click="counter1++">加加</button>
    <hr>
    <button @click="data.x.counter2++">新属性加加</button>
    <hr>
    <button @click="getRawObject">获取原始对象</button>
    <hr>
    <button @click="add">拓展属性</button>
</template>
 
<script>
import { markRaw, reactive, toRaw, toRefs } from 'vue'
export default {
    name : "App",
    setup(){
        let data = reactive({
            // 这里的原始对象的值也被修改了
            counter1 : 1
        });
        // 获取响应式对象的原始对象
        // 操作这个对象没有响应式处理
        function getRawObject(){
            let rawObj = toRaw(data);
            rawObj.counter1++;
            // 原始对象也关联我们初始的这个对象的,修改的时候也被修改了
            console.log(rawObj);
            // 修改原始对象没有响应式
        }
        function add(){
            // 是响应式的,因为我们底层添加也是调用的set方法
            // 以Proxy代理对象的形式执行了set方法
            // 因此是具有响应式的
            // 标记为markRaw后这个属性就是原始对象了,不具有响应式
            // 底层也没有创建Proxy对象,极大的提升了效率
            data.x = markRaw({
                counter2 : 100
            });
        }
        return {
            data,
            getRawObject,
            add,
            ...toRefs(data)
        };
    }
}
</script>
 
<style>
 
</style>

标签:VUE,框架,对象,toRaw,原始,rawObj,markRaw,data
From: https://blog.51cto.com/u_16322355/12031145

相关文章

  • 前后端分离Vue3+springboot基于javaweb学生宿舍入住报修管理系统
    目录功能和开发技术介绍具体实现截图开发核心技术介绍:系统运行步骤;技术创新点vue3和vue2的区别:开发环境和技术栈不分核心代码部分展示可行性分析系统设计操作可行性软件测试源码获取功能和开发技术介绍通过对相关类似系统项目的调查和研究,基本设计出本系统要实现的......
  • 前后端分离Vue3+springboot基于java房源房屋买卖平台的设计与实现
    目录功能和开发技术介绍具体实现截图开发核心技术介绍:系统运行步骤;技术创新点vue3和vue2的区别:开发环境和技术栈不分核心代码部分展示可行性分析系统设计操作可行性软件测试源码获取功能和开发技术介绍通过对相关类似系统项目的调查和研究,基本设计出本系统要实现的......
  • 前后端分离Vue3+springboot网上图书商城推荐系统的设计与实现
    目录功能和开发技术介绍具体实现截图开发核心技术介绍:系统运行步骤;技术创新点vue3和vue2的区别:开发环境和技术栈不分核心代码部分展示可行性分析系统设计操作可行性软件测试源码获取功能和开发技术介绍通过对相关类似系统项目的调查和研究,基本设计出本系统要实现的......
  • 前后端分离Vue3+springboot+Java网络教育资源共享学习计划平台
    目录功能和开发技术介绍具体实现截图开发核心技术介绍:系统运行步骤;技术创新点vue3和vue2的区别:开发环境和技术栈不分核心代码部分展示可行性分析系统设计操作可行性软件测试源码获取功能和开发技术介绍通过对相关类似系统项目的调查和研究,基本设计出本系统要实现的......
  • vue3路由基本使用
    在Vue3中,路由指的是应用程序的导航系统,允许你在不同的视图或页面之间进行切换。通过vue-router插件,你可以定义路由规则,将URL路径映射到Vue组件,实现页面间的跳转和状态管理。使用路由,用户可以在应用中导航不同的视图,同时保持浏览器的历史记录。一路由的基本使用1......
  • autoGPT metagpt crewAI langgraph autogen camel 哪些框架适用于多模态场景?(文心一言)
    autoGPTmetagptcrewAIlanggraphautogencamel哪些框架适用于多模态场景?特点:CrewAI是一个专门用于创建多模态代理的技术,能够同时处理文本、图像和音频数据。它提供了构建多模态代理所需的工具和库,使得开发者能够更容易地集成不同模型以处理多种数据类型。应用场景:适用于......
  • 基于Python+django的框架学习资源推送系统(源码+lw+部署文档+讲解等)
    前言......
  • 用1100天做一款通用的管理后台框架
    前言去年年底,我写了一篇《如何做好一款管理后台框架》的文章,这是我对开发Fantastic-admin这款基于Vue的中后台管理系统框架两年多时间的一个思考与总结。很意外这么一篇标题平平无奇的文章能收获30k的浏览以及600多个收藏,似乎大家对这种非干货的文章也挺感兴趣。于是在这个......
  • Java+Vue开发的固定资产管理系统(项目源代码分享)
      前言:资产设备管理系统旨在实现对企业资产和设备的全面管理,通过信息化手段提升管理效率,确保资产和设备的有效利用和安全性。以下是该系统的主要功能模块及其详细描述:一、个人中心用户登录与权限管理:实现用户身份验证和权限分配,确保系统数据的安全性。个人信息管理:允许用......
  • python毕业设计可视化主题:python体育用品销售电商数据可视化系统毕业设计源代码作品和
     博主介绍:黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩。项目配有对应开发文档、开题报告、任务书、P......