自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 介绍一下tree shaking 及其工作原理

是一种通过清除多余代码方式来优化项目打包体积的技术,专业术语叫 Dead code elimination但是CommonJS规范无法确定在实际运行前需要或者不需要某些模块,所以CommonJS不适合机制。在ES6import。我们只能通过导入所有的包后在进行条件获取。的import语法可以完美使用,因为可以在代码不运行的情况下就能分析出不需要的代码。看完上面的分析,你可能还是有点懵,这里我简单做下总结:因为只能在静态modules下工作。模块加载是静态的,因此整个依赖树可以被静态地推导出解析语法树。

2024-06-22 16:19:50 360

原创 Browserslist: caniuse-lite is outdated。浏览器列表:caniuse lite已经过时???

这要是这一句,Browserslist: caniuse-lite is outdated.只要package.json配置了browserslist对象,需要的组件将自动匹配到并使用。执行:npx browserslist@latest --update-db。看下package.json文件,里面有Browserslist这一项。最终执行完就可以了,也没有警告提示,项目启动运行正常!根据提供的目标浏览器的环境来,智能添加css前缀。browserslist做什么用的?Browserslist在哪?

2024-06-17 15:38:42 1248

原创 Vue3 使用 ant design vue组件更改modal样式

2.调用getContainer api 是指定 Modal 挂载的 HTML 节点 :getContainer=“() => orderModal”antd中大部分组件的样式都可以使用:deep直接修改,但modal组件不行。1.在外部包一个div ref=“globalModal”3.利用:deep 对于css进行样式更改。

2024-06-12 11:39:19 514

原创 JSON.stringify()方法

JSON.stringify()方法用于将一个值转为JSON字符串,该字符串符合JSON格式,它也可以被JSON.parse()方法还原。

2024-05-29 16:08:55 327

原创 Ant Design Vue中 a-table 嵌套子表格

需求:在父表格中嵌套子表格,当点击展开某一行时,有展开的关闭当前展开行。使用a-table中的expandedRowKeys 属性和expand 方法。expand:这个可以接受两个参数,一个是是否展开,另一个是当前行的数据Function(expanded, record)。expandedRowKeys:这个主要是控制展开某行,它是一个数组形式,

2024-05-22 12:07:07 1231 2

原创 JavaScript 中判断中文¥,并利用gbk进行转换文字。

【代码】JavaScript 中判断中文¥,并利用gbk进行转换文字。

2024-05-16 15:24:10 105

原创 uni-app中解决canvas宽度铺满整个屏幕

一、最近在开发的时候使用到了canvas进行绘制图片,但是问题就出现了,第一个就是宽度不铺满整个屏幕在保存的时候发现。第二就是图片不清晰。二、解决办法:利用uni-app自带的uni.getSystemInfoSync()去获取设备信息的宽高,进行计算。这边需要注意css样式属性,宽设为100%,注意不能添加margin和padding,要不然会导致不能铺满。

2024-05-16 15:17:36 555

原创 实现动态添加类名几种方法

三元表达式 条件?(条件为ture时) '' : (条件为false时)'' (个人理解)对象形式,使用花括号进行包裹 (个人理解)数组形式,使用中括号进行包裹 (个人理解)优点:以对象的形式可以写多个,用逗号分开。缺点:如果过多的话,不宜阅读。缺点:需配合变量进行使用。缺点:不适合过多的判断。数组和对象进行联合使用。

2024-05-08 15:47:31 292 1

原创 nextTick深入理解

分析上面的代码:上面的isEdit代码初始值为false,当你失去焦点之后调用函数,在函数内部,先执行if判断,在if判断里面将isEdit改为true,那么,这个时候,按照我们的逻辑来看,页面会重新渲染,input也会展示到页面上。g、这个事件环境中的数据变化完成,在进行渲染[视图更新],可以避免DOM的频繁变动,从而避免了因此带来的浏览器卡顿,大幅度提升性能;由于VUE的数据驱动视图更新,是异步的,即修改数据的当下,视图不会立刻更新,而是等同一事件循环中的所有数据变化完成之后,再统一进行视图更新。

2024-04-30 17:10:39 625

原创 React实现懒加载组件

先去结合MND文档可以尝试写一个demo,话不多说,下面是react的代码!

2024-04-26 15:46:16 166 1

原创 uniapp中适合各端调用第三方地图导航

相关的技术栈 uniapp + vue2在uniapp中可以进行搜索位置进行导航,会自动读取用户已有导航应用,并且由用户自主选择使用哪家地图进行导航,自动将目标地址设为终点在导航页面。uniapp文档中方法可直接调用,

2024-04-24 15:27:12 1352 5

原创 JS 防抖与节流应用场景和最佳实践

搜索框输入查询,如果用户一直在输入中,没有必要不停地调用去请求服务端接口,等用户停止输入的时候,再调用,设置一个合适的时间间隔,有效减轻服务端压力。比如:应用于 window 对象的 resize、scroll 事件,拖拽时的 mousemove 事件。触发高频事件后一段时间(wait)只会执行一次函数,如果指定时间(wait)内高频事件再次被触发,则重新计算时间。浏览器窗口缩放,resize 事件(如窗口停止改变大小之后重新计算布局)等。- 都是在高频事件中防止函数被多次调用,是一种性能优化的方案。

2024-04-23 16:34:24 159

原创 cookie、session、token三者之间的区别?

作用机制:服务器并不保存token,而是通过数据签名的方法,对数据用算法(如SHA-256)与私钥进行签名后作为Token,当Token发送给服务器时,服务会通过相同的算法与密钥进行签名,如果和Token中的签名相同,服务器就知道用户已经登录过了,并且可以直接得到用户的userID。当用户第一次登陆网站时,服务器会生成一个session,并将该sessionID发送给用户储存在cookie中,当第二次发送请求时,sessionID就随着cookie一起发送,浏览器就可以识别出是谁发送的请求。

2024-04-16 17:39:22 277 1

原创 竖排文字!启动

一、想必大家应该会碰到文字竖着排列,不知道大家采取的方法是什么,今天我分享一下我使用的吧!

2024-04-01 17:41:28 128

原创 Vue3 中的依赖注入(Provide/Inject)

1.首先:大家去考虑一种场景我们在父子组件通信的时候通常使用Props进行传递。官网举例:有一些多层级嵌套的组件,形成了一颗巨大的组件树,而某个深层的子组件需要一个较远的祖先组件中的部分数据。在这种情况下,如果仅使用 props 则必须将其沿着组件链逐级传递下去,这会非常麻烦:注意,虽然这里的<Footer>组件可能根本不关心这些 props,但为了使能访问到它们,仍然需要定义并向下传递。如果组件链路非常长,可能会影响到更多这条路上的组件。

2024-03-18 13:58:10 387

原创 VScode 怎么设置成中文

在vscode顶部会出现一个搜索框。1.打开vscode后,发现标题栏为英文。最后重启一下,就可以啦。

2024-03-14 09:55:23 365 1

原创 uniapp连接蓝牙打印小票(附加demo)

在初始化成功后,可以进行蓝牙设备的搜索和连接操作。监听蓝牙设备的特征值变化:对于需要监听特定特征值变化的操作,可以使用。方法开始搜索蓝牙设备。可以设置搜索的时间和过滤条件,然后通过监听。方法获取蓝牙适配器对象。可以使用该对象进行后续的蓝牙操作。方法监听特征值的变化。获取蓝牙设备的服务和特征值:连接成功后,使用。连接蓝牙设备:选择要连接的蓝牙设备后,使用。方法获取蓝牙设备的服务列表。获取蓝牙适配器:首先,需要通过。事件获取搜索到的蓝牙设备列表。方法获取每个服务的特征值列表。事件获取蓝牙设备返回的数据。

2024-01-31 10:17:43 2639 1

原创 vue2/vue3实现打印功能(vue-print-nb)!

详细参考文章保证一路畅顺!

2024-01-15 15:21:59 1657

原创 微信小程序的生命周期

这些生命周期函数在每个页面的 js 文件中定义,用于处理页面的加载、显示、隐藏、卸载等事件。:这些生命周期函数在每个组件的 js 文件中定义,用于处理组件的创建、附加、移动、卸载等事件。微信小程序的生命周期主要分为三个部分:应用的生命周期、页面的生命周期和组件的生命周期。:组件实例被添加到页面节点树时触发,此时可以进行大部分初始化工作。:页面初次渲染完成时触发,常用于获取渲染完成的DOM节点。:页面隐藏时触发,常用于暂停或清理页面任务(如定时器)。:页面卸载时触发,常用于清理页面资源和任务。

2024-01-15 14:36:09 405

原创 记录面试题!

在新版的React中,推荐使用getDerivedStateFromProps、componentDidMount、shouldComponentUpdate、getSnapshotBeforeUpdate、componentDidUpdate等方法来处理组件的生命周期,而避免使用已经标记为不安全的生命周期方法。利用 reduce 方法遍历原数组,在遍历过程中将出现的元素存储到一个临时对象中,并以元素值为键,然后再将对象的键值提取出来作为去重后的数组。你可以根据具体需求自行实现日历组件和日期选择逻辑。

2024-01-13 16:40:19 842 1

原创 详细讲解安装DL-5801PW!

安装DL-5801PW

2024-01-12 11:45:55 539 1

原创 Grid 布局了解多少?

CSS Grid 布局是 CSS 中的一种新的布局系统,旨在通过 网格(grid)和 行(row)、列(column)的概念来创建灵活的、高效的、响应式网页布局。CSS Grid 布局可以将一个元素的内容划分为多个网格,根据需要,可以在这些网格中定位元素。与传统的基于盒子模型的布局方式不同,CSS Grid 布局以一种更直观、更高效的方式来处理布局问题。可以通过 CSS Grid 属性来定义网格和元素的位置,包括大小、间距、对齐方式等等。

2024-01-12 11:18:18 835 1

原创 vue3实现下载图片功能

【代码】vue3实现下载图片功能。

2024-01-11 15:33:51 1094 1

原创 uniap小程序中使用canavs绘制base64格式,真机调试二维码不显示的问题。

这样的缺点在于每调用一次写一个文件,文件会越写越多,当文件管理器中文件总大小超过最大限制则会报错。先把小程序码通过小程序API中的FileSystemManager.writeFile()接口写入本地并获取到一个临时URL。小程序中有一个这样的场景:一个图片(包括了背景图,二维码,标题),类似于zfb中的每天扫一扫,方便用户保存在本地。小程序码通过后台接口获取,格式如下:'data:image/jpg;画出来之后,在微信开发者工具上有效,在真机上无效。accomplish!

2024-01-11 10:50:32 660

原创 uniapp的radio、checkout大小设置,解决办法,以及radio、checkout的背景等样式修改。

一、修改大小官网文档有写 建议大小设置采取用transform: scale(0.7);这种方式去设置二、修改样式 首先看一下官网默认的样式实际开发过程中的需求不太一样的,看下需求样式。话不多说,上代码!

2023-12-22 18:05:15 1397

原创 vue3 结合element-plus组件库使用table进行合并行

element文档中有“合并行或列”的例子: 多行或多列共用一个数据时,可以合并行或列。该函数可以返回一个包含两个元素的数组,第一个元素代表。方法可以实现合并行或列, 方法的参数是一个对象,里面包含当前行。这样的效果就达到想要的需求了,细心观察一下代码!通过给 table 传入。也可以返回一个键名为。

2023-11-22 10:08:24 2033 1

原创 fetch的封装

【代码】fetch的封装。

2023-06-19 11:50:50 800

空空如也

空空如也

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

TA关注的人

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