同事:这个页面的逻辑没什么能复用的,不抽组件也没什么影响吧?

news2025/7/19 11:29:19

前言

最近在维护同事的一个项目时,发现有不少单个vue文件一千余行,同一个文件上有倒计时、有输入信息的表单;
当时我就在想:是不是策划经常改需求或者排期紧急,所以没抽组件呢。

沟通过程

以下同事称为阿A
我:阿A,你的这个输入表单怎么不抽个组件,是不是时间当初太赶 ? //表情包。(因为关系比较好,就直接问了)
阿A:这个页面的逻辑没什么能复用的,不抽组件也没什么影响吧?
我:逻辑方面我看了,能读懂,没啥问题(先肯定一下);但是这样会影响性能。
阿A:不会吧,除非你证明给我看 //表情包。
我:晚点写个demo一起探讨一下

demo验证

1、倒计时组件没抽离有什么问题?偷下懒假设这个计数器就是倒计时组件
在这里插入图片描述
运行结果:当计数器time的值更新时,与计数器不相关的其他逻辑也在更新
在这里插入图片描述

2、再看下输入表单
在这里插入图片描述
运行结果:当表单输入信息时,可以看到不相关的逻辑也在更新
在这里插入图片描述
3、上边的 “不相关的逻辑”是很简单的计算,所以没啥感觉,我们加点复杂的逻辑
在这里插入图片描述
运行结果:可以看到,输入非常地卡顿,这时候用户估计默默关掉app/网页
在这里插入图片描述

结论

并不是不用复用的组件就不用抽,特别是一些计算量大的、需要频繁更新页面的组件,否则会影响性能。
原因是都写在一个文件的话,也就是属于同一个render方法,页面依赖的数据发生变更时会触发render,引发很多不必要的计算;抽离组件后,模板数据变化只会触发自身的render,不对其他逻辑造成影响。

其他结论: A同事项目线上之所以没用户反馈,主要是卡顿在用户能接受的范围(即计算复杂度没上边的第三个demo高),下次迭代偷偷优化吧,hhhh…

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/8433.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【附源码】计算机毕业设计JAVA家庭理财管理系统

项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis Maven Vue 等等组成,B/…

Java基础—Document类型的变化

Document类型的变化 Document类型的变化中唯一与命名空间无关的方法是importNode()。这个方法的用途是从一个文档中取得一个节点,然后将其导入到另一个文档,使其成为这个文档结构的一部分。需要注意的是,每个节点都有一个ownerDocument属性&…

G1D13-Apt论文阅读fraudgitKGbookrce33-36php环境搭建

一、APT论文 今天终于把6个模型论文和一篇综述读完了!!! 今天主要读了一篇论文写了个总表。发现之前读的论文都忘了,所以 明天要复习一下模型,记录在文档中,并完善模型对比的总表,并且把代码下…

[附源码]java毕业设计基于web的建筑合同管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

嵌入式FreeRTOS学习九,任务链表的构成,TICK时间中断和任务状态切换调度

一. tskTaskControlBlock 函数结构体 在tskTaskControlBlock 任务控制块结构体中,其中有任务状态链表和事件链表两个链表成员,首先介绍任务状态链表这个结构,这个链表通常用于管理不同状态的任务;通常,操作系统任务有…

CPU、内存、磁盘性能监控

CPU监控 网络由设备、服务器、路由器、交换机和其他网络组件组成。CPU 是网络中所有硬件设备的组成部分。它负责设备的稳定性和性能。企业严重依赖网络,企业硬件的处理能力决定了网络的容量。随着 CPU 功能和硬件的快速发展,组织必须规划其容量并监控其…

成功上岸,刚转行自学Python的小姑娘,每个月入1W+......

我是一名2020年毕业的本科生,大学学的专业是机械设计制造及其自动化。 在大学期间,觉得机械专业实在枯燥无味,没有一点点成就感,每天就是画图纸,测量零件,计算数据,一切都是纸上谈兵。但凡有因…

甲氧基PEG多巴胺DPA-mPEG,Dopamine-mPEG,PEG化的多巴胺具有良好的水溶性

英文名称:mPEG-DPA mPEG-Dopamine 中文名称:甲氧基-聚乙二醇-多巴胺 分子量:1k,2k,3.4k,5k,10k 产地:广州 品牌:为华生物 存储条件:≤-4℃低温干燥保存…

Netty-实验

Netty应用实例-群聊系统 实例要求: (1)编写一个Netty群聊系统,实现服务端和客户端之间的数据简单通讯(非阻塞) (2)实现多人群聊 (3)服务器端:可…

论文阅读笔记 | 三维目标检测——PointRCNN

如有错误,恳请指出。 文章目录1. 背景2. 网络结构2.1 Proposal Generation2.2 Proposal Refinement3. 实验部分3.1 kitti上的测评3.2 消融实验paper:《PointRCNN: 3D Object Proposal Generation and Detection from Point Cloud》文章比较复杂&#xff…

一文详解Redis企业版软件!

一、Redis企业版软件概述 Redis企业版软件(Redis Enterprise)是企业级的数据库软件,也是一款实时数据平台,为全球超过8500家知名企业提供实时数据服务。具有线性可扩展性、高可用性、持久性、备份和恢复、地理分布、分层内存访问…

WhatsApp群发系统-SendWS拓客系统功能后台介绍(五):WhatsApp筛号群发,群发超链

WhatsApp群发系统 基于WhatsApp进行群发功能,将品牌和产品推送给全世界各地的人们或者选择筛选好的用户,进行针对性的群发,提升了品牌和产品的影响力,让更多人了解认识品牌,帮助客户低成本实现WhatsApp营销精准拓客。…

windows和linux可以共用的端口连通性是否丢包测试工具paping

通常我们在系统无论是在windows还是linux,都会使用telnet命令来测试端口的连通性,但此命令只能测试是否通,无法测试是否有丢包或者是否有中断。paping这个工具就应用而生,它可以在多系统环境下进行像ping一样测试。 一、下载&…

【vscode】远程容器内开发python

一、环境 本人的远程开发环境: docker容器miniconda 常用的IDE: pyCharm专业版vsCodeRemote Development插件Python插件 由于pyCharm专业版要么花钱要么破解,我选择了vscode插件的方式,插件都是microsoft出品。 二、使用 服务…

记一道前端高难度面试题

目录 提问:如何让下面的这行代码成立 1.错误原因 2.思路 3.解题 4.小结 提问:如何让下面的这行代码成立 var [a,b] {a:1,b:2} 直接运行会报错,报错信息如下: Uncaught TypeError: {(intermediate value)(intermediate valu…

手柄零件的工艺设计

手柄零件的工艺设计 目录 一、零件的工艺分析及生产类型的确定 1.零件的作用-------------------------------------------------------------------------- 3 2.热处理-------------------------------------------------------------------------------- 3 3.零件的生产类型-…

架构师书籍推荐

讲实话,要看书只能看看架构师思维相关的数据,开拓一下思路就行,看看别人的看法和观念。 架构师需要积累的技术不要从书上来,去官网看他的说明书,一切纯讲技术类的书籍都有滞后性。 正在用的技术要时常关注一下他官网…

数据结构-图的基本概念

目录 完全图无向图有向图路径长度回路或环⭐⭐无向图-->连通图和连通分量⭐⭐有向图-强连通图和强连通分量完全图 无向图 无向图中每两个顶点之间都存在着一条边。 称为完全图 无向完全图包含n(n-1)/2条边。 有向图 有向图每两个顶点之间都存在着方向相反的两条边。 称…

Nature 、cell 双开花-抗氧化剂与氧化应激

癌细胞经常通过癌症转移调控自身的新陈代谢,进而来有效地支持细胞增殖和存活。因此,因恶性肿瘤转移造成的死亡占癌症整体发病的 95%。2019 年 6 月 27 日,国际 TOP 杂志 Nature 在线发表了中科院上海生化与细胞研究所杨巍维课题组与中科院大连…

el-table中显示echarts的趋势折线图(燃尽图)

显示效果:右边的趋势图其实是查询当前行的30天数据量 背景:为了模仿禅道上的燃尽图,但是查看其源码,发现是用php写的,我们想用vue实现 实现步骤:1.先使用el-table画出表格来 注意:此时数据是…