自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 使用mitt进行兄弟组件之间的传值

2.引入到项目并进行挂载,3.在A组件中派发事件。

2025-02-27 15:19:11 241

原创 Vue.nextTick(callback) 使用原理:

当你设置 vm.someData = 'new value',DOM 并不会马上更新,而是在异步队列被清除,也就是下一个事件循环开始时执行更新时才会进行必要的DOM更新。如果此时你想要根据更新的 DOM 状态去做某些事情,就会出现问题。原因是,Vue是异步执行dom更新的,一旦观察到数据变化,Vue就会开启一个队列,然后把在同一个事件循环 (event loop) 当中观察到数据变化的 watcher 推送进这个队列。而在下一个事件循环时,Vue会清空队列,并进行必要的DOM更新。

2024-12-07 20:13:41 233

原创 CSS中有哪些方式可以隐藏页面元素?区别?

在平常的样式排版中,我们经常遇到某个模块隐藏的场景,通过css隐藏元素的方法有很多种,它们看起来一致,但其实每一种都有一些区别,这也造就了它们的一些使用场景的不同。

2024-12-07 17:03:42 1312

原创 React 19 更新总结

12 月 6 日,React 19 正式发布,本文简单总结该版本都带来了那些更新!

2024-12-06 15:34:57 769

原创 vue数据双向绑定原理(附图)

我们先从单向绑定切入单向绑定非常简单,就是把 Model 绑定到 View ,当我们JavaScript 代码更新 Model 时,View 就会自动更新双向绑定就很容易联想到了,在单向绑定的基础上,用户更新了 View,Model 的数据也自动被更新了,这种情况就是双向绑定。

2024-12-05 20:55:21 654

原创 webpack和Rollup、Parcel构建工具各自的优缺点

Rollup 适合构建 JavaScript 库和模块,支持优秀的 Tree Shaking 和较小的打包体积,但插件生态较小,适用场景有限。Parcel 适合快速开发和小型项目,开箱即用,构建速度快,但功能不如 Webpack 强大,缺乏对复杂配置的支持。Webpack 适合大型项目和复杂的前端构建,支持高度自定义,但配置复杂,构建速度较慢。

2024-12-02 20:34:37 191

原创 webpack从0到1搭建vue-cli

这将生成生产环境的构建文件,输出到。

2024-12-02 20:31:29 286

原创 webpack从0到1搭建react-cli

【代码】webpack从0到1搭建react-cli。

2024-12-01 20:05:14 359

原创 webpack代码优化

Webpack 是一个现代 JavaScript 应用程序的静态模块打包器,它可以将项目中的所有依赖项(JavaScript、图片、CSS 等)打包成一个或多个 bundle。优化 Webpack 配置可以提高构建速度、减少 bundle 大小,并改善加载性能。2.提升webpack打包构建速度。

2024-12-01 17:17:23 253

原创 EsLint的基本使用

根据以上代码的规则,如果在src目录下的js文件中,有使用var来定义变量,那么eslint就会给代码报错。ESLint 是一个插件化的工具,用于识别和报告 JavaScript 代码中的错误以及潜在的代码问题。ESLint 可以通过一个命令来帮助你初始化配置文件。然后把插件添加到你的 webpack 配置。ESLint 支持多种配置文件格式,包括。等,并且可以在项目根目录、子目录或者。

2024-11-30 16:27:40 366

原创 EsLint核心概念

ESLint 是一个可配置的 JavaScript 检查器。它可以帮助你发现并修复 JavaScript 代码中的问题。问题可以指潜在的运行时漏洞、未使用最佳实践、风格问题等。是可组装的JavaScript和JSX检查工具。这句话的意思就是,它是用来检查js和jsx的语法工具,可以配置各项功能,我们使用EsLint,关键是写EsLint的配置文件,里面写上各种rules规则,将来运行EsLint是就会以写的规则对代码进行检查。

2024-11-30 15:53:03 684

原创 webpack入门简单配置

当 webpack 处理应用程序时,它会在内部从一个或多个入口点构建一个。是一个用于现代 JavaScript 应用程序的。,然后将你项目中所需的每一个模块组合成一个或多个。,它们均为静态资源,用于展示你的内容。在如门前你需要先理解一些。

2024-11-29 15:06:28 671

原创 React路由整理与基本使用

React Router 是一个用于构建单页应用(SPA)的路由库,它允许你定义路由规则来响应不同的URL路径。

2024-11-25 20:14:43 291

原创 React中的错误边界

React中的错误边界(Error Boundaries)是一种组件,它可以捕获其子组件树中任何位置的JavaScript错误,并记录这些错误,显示一个备选UI,而不是崩溃的组件树。错误边界只在组件的渲染期间、生命周期方法和构造函数中捕获错误,但不会捕获以下错误:事件处理、异步代码、服务端渲染以及错误边界本身抛出的错误。在如上代码中,当设置子组件的user值不为数组的时候报错,父组件触发getDerivedStateFromError()的生命周期钩子,并更改了错误标识,并通过条件渲染,防止页面出错。

2024-11-21 16:23:29 490

原创 renderProps的使用

具体来说,具有 render prop 的组件会接受一个返回 React 元素的函数,并在组件内部通过调用这个函数来实现自己的渲染逻辑。通过一个函数将组件的状态作为 props 传递给另一个组件,这种方式使得组件可以更加灵活地复用状态和行为,而不需要通过组件嵌套来共享状态,在实际使用中,render 可以有不同的名称,不一定是。在react中,通过如下方式可以在组件中嵌套组件,但这样会造成一个问题,如果A组件想传递数据给B组件,显然传递不了,那我们有其他方式吗?

2024-11-21 15:25:55 212

原创 CSS中对盒子模型的理解

什么是盒子模型:当对一个文档进行布局的时候,浏览器的渲染引擎会根据标准之一的css基础框盒模型,将所有元素表示为一个个矩形的盒子。一个盒子由4个部分组成:content,padding,border,margin。

2024-10-26 21:02:11 348

原创 js中如何实现继承

继承可以使得子类具有父类的属性和方法,而不需要编写重复代码,在子类继承父类的同时,还可以重新定义的属性和重写父类的方法。

2024-10-26 20:28:09 478

原创 有条件缓存

Vue 有条件路由缓存,就像传统新闻网站一样在 Vue 中如何实现有条件的路由缓存?就像我们访问传统新闻网站一样,Kee - 掘金

2024-10-26 19:57:53 112

转载 移动端 100vh 显示 bug

移动浏览器(Chrome 和 Safari)有一个“有用”的功能,地址栏有时可见,有时隐藏,从而改变视口的可见大小。这些浏览器并没有随着视口高度的变化而将高度调整100vh为屏幕的可见部分,而是将100vh地址栏设置为隐藏地址的浏览器高度。结果是,当地址栏可见时,屏幕的底部将被切断,从而违背了100vh最初的目的。链接:https://juejin.cn/post/7374452765273538595。获取当前视窗的的高度,将高度按 100 份等分,得到视窗的单位高度, 然后通过。

2024-10-26 19:51:49 137

原创 CSS样式中的classList.toggle的用法

【代码】CSS样式中的classList.toggle的用法。

2024-06-10 17:00:47 1531

原创 vue3组件通信

在子组件中: 在父组件中: mitt 使用一个对象 来存储所有注册的事件监听器。对象的键是事件类型,值是一个数组,存储该事件类型的所有监听器。 使用: 1.控制台下载 2.在src目录下创建一个工具文件夹utils,并在utils目录下创建mitter.ts文件

2024-06-07 20:26:18 1017

原创 变量的解构赋值

数组和对象中提取值,对变量进行赋值,这被称为解构1.“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值如:let [a, b, c] = [1, 2, 3];2.解构不成功,变量的值就等于undefined其值为undifined如:let [x, y, ...z] = ['a'];其中: x // "a"z // []3.如果等号的右边不是数组,那么将会报错。如: let [foo] = 1;4.只有当一个数组成员严格等于undefined,默认值才会生效。

2024-05-15 16:59:53 166

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除