适用于Vue、React、Angular、Ts和Js毫秒级计时器,包括正、倒计时

由于定时器精准度问题,根据设备性能的影响误差会存在 0~20ms ,所以需要结合自身的使用场景来决定能不能使用。此处实现使用的是 setInterval 定时器加上 performance.now() 来校准 setInterval 的误差。以下例举出了适用于各个框架的版本,可根据需求自行修改。Vue版本import { reactive } from 'vue'; export interfa

- 阅读全文 -

你写的深度克隆真的“深度”吗?

深度克隆是前端开发中无法避免的话题,几乎每个前端开发者都遇到过这个话题,那我们就来看看你写的深度克隆真的正确吗?大家先看下面这段代码:/** * 我是最强的深度克隆 */ const deepClone = (obj: any) => { return JSON.parse(JSON.stringify(obj)) }平时开发中用这个方法或者过去用过这个方法去“深度克隆”的同学请

- 阅读全文 -

Android Studio下载Gradle超时解决方案

Android Studio找到项目中 gradle 配置文件的路径,我的路径为 /你的项目路径/gradle/wrapper/gradle-wrapper.properties,里面对应内容应该如下所示:#Tue Jun 11 16:15:13 CST 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists di

- 阅读全文 -

如何降低代码耦合度,提升代码质量?

降低代码耦合度有许多好处,主要包括以下几个方面:1. 提高代码的可维护性低耦合度使得代码更加模块化,每个模块或组件相对独立。这样,在修改或修复某个模块时,不会对其他模块造成影响。代码变得更容易理解和维护。2. 提高代码的可测试性低耦合度允许你为每个模块编写独立的单元测试。因为模块之间的依赖性减少,测试某个模块时,可以使用模拟(mock)或桩(stub)来替代实际的依赖,这样测试就更加简单和有效。3

- 阅读全文 -

如何利用浏览器资源提示关键词优化网页性能

浏览器资源提示关键词在现代Web开发中,页面加载速度对用户体验至关重要。浏览器提供了一些资源提示关键词(Resource Hints),帮助开发者优化页面加载速度。这些关键词包括 defer、async、preload、prefetch、dns-prefetch、prerender 和 preconnect。合理利用这些关键词,可以显著提高页面加载性能,优化用户体验。1. defer 和 asyn

- 阅读全文 -

Vue3中组件使用ref时获取组件类型推导

我们在使用Vue3+ts开发时,常常会用到一些第三方组件库,比如Element-Plus UI、Navie UI等,这些UI框架中有些组件常常会暴露一些方法给我们便捷的去实现各种复杂的交互,我们经常会像下面这样去给组件定义一个ref去获取组件的实例:<template> <div> <el-drawer ref="drawerRef"

- 阅读全文 -

thinkPHP6多对多关联查询排除联表字段

假设当前有三个数据模型,分别是A、B、A_B,A和B是多对多关系,A_B是A和B的中间表,我想要查询A模型中指定id的一条记录,并且联表查询这条记录关联B模型中的多条记录,这样会查询出B模型中对应记录的全部字段,包括一些敏感字段如delete_time等,此时你想过滤掉一些字段,但发现withoutField只能过滤主表A的字段,无法过滤联表B的字段。解决方案如下,加入一个闭包,然后使用getQu

- 阅读全文 -

MacOS终端常用命令

文件和目录操作ls:列出目录内容。选项:-l(详细格式)、-a(显示所有文件,包括隐藏文件)。cd:更改当前目录。示例:cd ~(进入用户主目录)、cd -(切换到上一个目录)。pwd:显示当前工作目录的路径。mkdir:创建新目录。示例:mkdir newdir(创建名为“newdir”的新目录)。rmdir:删除空目录。示例:rmdir emptydir(删除名为“emptydir”的空目录)

- 阅读全文 -

MacOS Python管理工具:pyenv

安装pyenvbrew install pyenv查看可安装版本pyenv install --list安装指定版本pyenv install $version查看当前已安装版本pyenv versions切换版本# 全局切换 pyenv global $version # 当前目录 pyenv local $version # 当前shell pyenv shell $version卸载指定版本

- 阅读全文 -

程序员使用mac的一些笔记

nodejs包管理器安装最新稳定版 node:n stable 安装最新版本 node:n latest 安装某个具体node版本:n 14.16.1 删除某个具体的node版本: n rm 14.16.1 查看本机已安装的node版本: n ls

- 阅读全文 -