阅读视图
前端必懂的 Cache 缓存机制详解
在前端开发中,性能优化是绕不开的话题,而 缓存(Cache) 则是性能优化中最具性价比的一环。本文从基础概念出发,带你深入理解 浏览器缓存的工作机制,尤其是 强缓存 与 协商缓存 的原理、应用场景与配
从代码到屏幕,浏览器渲染网页做了什么❓
当我们打开一个网页时,背后发生了什么?浏览器如何将HTML、CSS和JavaScript代码转换成我们看到的精美页面? 概述:五步渲染流程 浏览器渲染网页可以简化为五个关键步骤: 解析HTML,构建D
React Native 中的 useRef 介绍
在 React Native 中,useRef 是 React 提供的一个非常有用的 Hook,它的作用是在函数组件中保持对某些数据或是组件的持久引用。并且它的改变不会触发组件重新渲染。 在之前的类组
【performance面试考点】让面试官眼前一亮的performance性能优化
【performance面试考点】让面试官眼前一亮的 Performance 性能优化 本文面向前端面试,覆盖浏览器渲染机制、重排重绘优化、资源与网络优化、执行与框架层优化、缓存与首屏、度量与工具,并
给不支持摇树的三方库(phaser) tree-shake?
通过vite插件、babel ast分析和转化的形式,为一个不支持treeshaking 的三方库,实现自动treeshaking功能,以节省构建体积。
让el-table长个小脑袋,记住我的滚动位置
需求来源:
需求师:我说,老牧你这个页面再调整一下呗,我希望这个滚动条从详情页返回来的时候还能保持再当时的位置,你看这老是给我刷新置顶好麻烦。
我:行都行的,你是老大你说的算。(等着等我骑到你头上)【心理活动】
首先,我去网上查了一下(没做过先看看有没有现成的案例)。看了一圈大概都是keep-alive+data中的字段进行辅助。ok搞起!!!!!
第一步:keep-alive配置
<template>
<div>
<keep-alive>
<router-view v-if="alivePath.includes($route.path)"></router-view>
</keep-alive>
<router-view v-if="!alivePath.includes($route.path)"></router-view>
</div>
</template>
data(){
return{
alivePath:["/projectMaintenance"],
}
}
第二步:对应页面位置记录
data(){
return{
scrollTop:0,
}
},
methods:{
restoreScroll() {
if (this.scrollTop > 0) {
setTimeout(() => {
this.$refs.multipleTable.bodyWrapper.scrollTop=this.scrollTop
}, 100);
}
},
},
activated() {
// 当组件被重新激活时,恢复滚动位置
this.$nextTick(() => {
this.restoreScroll();
});
},
beforeRouteLeave(to, from, next) {
// 在离开前保存滚动位置
if (this.$refs.multipleTable) {
this.scrollTop = this.$refs.multipleTable.bodyWrapper.scrollTop;
}
next();
}
就这么点代码,你没看错哈哈哈哈。
有些地方我知道可能我写的不够好,所以我想说以上内容仅供参考
vue3高德地图api整合封装(自定义撒点、轨迹等)
使用高德地图完成自定义地图撒点、撒点点击、聚合、地理逆解析、轨迹(轨迹回放/暂停动画/倍速/进度条拖拽)、输入提示、点位拾取等
React 常见问题
React 组件生命周期 挂载阶段:组件首次被创建并插入到 DOM 中的阶段。 更新阶段:当组件的 props 或 state 发生变化时,就会触发更新阶段。 卸载阶段:组件从 DOM 中移除时进入卸
uniapp--咸虾米壁纸(三)
一、实现“图片预览页”中的数据获取: 由于先前在“分类列表页”中已经将获取到的图片列表数据存储在了本地中,因此在图片预览页中只需要从本地中拿数据即可: 然后又因为“图片预览页”中要求显示的是大图效果,
关于wangeditor的自定义组件和元素
需求 参考链接官网:https://www.wangeditor.com/v5/development.html 实现 注册新菜单 劫持编辑器事件和操作 定义新元素 在编辑器里渲染新元素 把新元素转换
Vue2 与 Vue3 深度对比
Vue 作为前端主流框架,从 Vue2 到 Vue3 的迭代不仅是功能的升级,更是底层设计理念的重构。Vue3 在保留 Vue2 易用性的基础上,解决了 Vue2 在大型项目中的性能瓶颈与扩展性问题。
TL如何进行有效的CR
作为Team Leader,Code Review(代码审查)是我认为在技术管理和团队建设中性价比最高、收益最显著的实践之一。它远不止是找bug,更是一个知识共享、质量保障和团队建设的综合过程。 我的
微信小程序初探之数据绑定
在微信小程序开发过程中,一般会将页面中的数据从WXML文件中分离出来,通过JS文件操作页面中的数据。那么,微信小程序为什么要将数据分离出来呢?下面我们来看一个例子。 以上是一个图片展示微信小程序,
用现有bootstrap的模板,改造成nuxt3项目
为了响应快速开发企业网站,并且能够适配移动端,完整的使用tailwind css写一套还挺复杂。使用市场上的UI框架,风格过于统一,不适合面向C端用户的个性化UI需要,使用bootstrap项目开发。
(在线CAD插件)网页CAD实现图纸表格智能提取
CAD图纸上的表格信息承载着大量关键数据,生产过程中会导出表格数据到excel,本文将介绍如何通过自定义 MxCAD 插件,在web端实现对CAD图纸中表格的智能识别、自动合并与高效导出,大幅提升数据
Chrome插件开发:在网页上运行脚本
金金金上线! 话不多,只讲你能听懂的前端知识 概览 本教程将构建一个扩展程序,用于向任何 Chrome 扩展程序和 Chrome 应用商店文档页面添加预计阅读时间 构建扩展程序 创建一个名为 read
JavaScript Intl.RelativeTimeFormat:自动生成 “3 分钟前” 的国际化工具
在当今全球化的互联网环境下,Web 应用的国际化(i18n)和本地化(l10n)至关重要。用户期望看到的时间信息,能以他们熟悉的语言和习惯的方式呈现,例如 “3 分钟前”“昨天”“下周” 等相对时间表