自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(374)
  • 资源 (1)
  • 收藏
  • 关注

原创 修改源码,打patch包

然后执行npm install,这事会自动执行npm run postinstall这个命令,也就是执行patch-package,这时候就会去读取上面说的 patches目录,并将那些补丁打到对应的包里,达到同步修改代码的效果。注:要把 patches 这个目录提交到git,别人才可以同步你的修改。2.修改node_modules里面的文件后,然后执行。1、安装patch-package。

2024-04-16 09:28:48 218

原创 antd datepicker点击选不中报错 Unable to preventDefault inside passive event listener invocation.

事件起因:在微应用点击其他微应用的页面后,回到自己项目导致antd datepicker选择时间无法选中。控制台报错:Unable to preventDefault inside passive event listener invocation,这个警告通常出现在使用passive事件监听器时,当在事件处理函数中调用preventDefault()方法时会引发该警告。在main.js中(或新建js文件,引入到main.js中),重写addEventListener,把passive置为false;

2024-03-29 13:44:25 213

原创 Object.hasOwn 低版本浏览器兼容性问题解决

使用Object.hasOwnProperty()代替。hasOwn是es2022新语法,旧浏览器不支持。

2023-07-25 14:43:00 1062

原创 vue3浏览器报错解决Uncaught runtime errors

【代码】vue3浏览器报错解决Uncaught runtime errors。

2023-07-11 11:19:40 3728 3

原创 vue+vue-matomo实现埋点

vue+vue-matomo实现埋点

2023-06-13 11:23:41 871

原创 Vue3兄弟组件传值mitt.js

在Vue3中没有了EventBus兄弟组件通信,但是现在有了一个替代的方案mitt.js,原理还是 EventBus。

2023-06-05 11:29:10 351

原创 手写一个eventBus自定义事件

在我们的JavaScript中,可以给元素添加一个点击监听事件,当用户点击的时候,点击事件怎会被执行,这也是一种事件总线的思想在里面,就好比元素订阅了点击事件,用户发布或出触发点击事件。所谓事件总线模式,其实就和发布订阅模式非常类似,比如我们订阅了一个公众号,公众号发布文章之后我们就能收到信息,这就是一种订阅发布的关系。再比如在Vue2项目中,我们可以使用$on、$emit来实现事件的监听和触发,这其实就是一种事件总线的思想在里面,只不过Vue帮我们实现好了。使用$emit发布事件。实现$off取消订阅。

2023-03-21 15:00:27 275 1

原创 项目中常见的代码优化方案

一个为 null 和 undefined 的判断,减少 || 类型的处理,用?使用数组或者字符串的 includes 方法,代替 indexOf 方法。校验多个表单项不能为空,使用策略模式代替 if-else。使用switch,object或者Map代替。利用filter,some,every优化代码。减少没必要的if...else判断。

2023-03-10 17:35:19 224

原创 Lodash基本使用

Lodash 是一个一致性、模块化、高性能的 JavaScript 实用工具库。里面有很多针对数组、对象、函数等一些方法。数组去重 union和uniqBy。深拷贝 cloneDeep。防抖 debounce。节流 throttle。

2023-03-10 15:06:55 1125

原创 vue3中toRaw使用

ref和reactive 数据每次修改都会被追踪,都会更新UI界面,也是非常消耗性能的,所以如果我们有一些操作不需要追踪,不需要更新UI界面,那么这个时候我们就可以通过toRaw方法拿到它的原始数据,,这样会优化一些性能。

2023-03-02 21:41:53 493

原创 Pinia的基本使用(vue3)

Pinia.js 是新一代的状态管理器

2023-03-02 15:28:13 482

原创 vue3 shallowRef和shallowReactive

shallowReative与shallowRef在某些特殊的应用场景下,是可以提升性能的,前者针对对象,用于浅层作用的响应式数据处理,而后者只处理基本数据类型的响应式,不进行对象的响应式处理。

2023-03-01 16:59:20 547

原创 Vue3中ref、reactive、toRef、toRefs基本用法和区别

setup 函数中默认定义的变量并不是响应式的(即数据变了以后页面不会跟着变),如果想让变量变为响应式的变量,需要使用 ref 和 reactive 函数修饰变量。区别:reactive只能传入对象类型的参数,所以基本数据类型添加响应式状态只能用ref(当然ref也可以定义复杂的数据)ref 获取数据值需要加.value注:ref底层使用的是proxy代理函数实现双向绑定,proxy 函数必须要接收一个对象,如果想修改 name 的值,需要使用 name.value区别:toRef:只希望转换一个react

2023-03-01 15:47:34 843

原创 vue-cli中的环境变量注意点

只有以 VUE_APP_ 开头的变量会被 webpack.DefinePlugin 静态嵌入到客户端侧的包中

2023-03-01 15:20:59 430

原创 export {default as xxx} from xxxxx写法

export {default as xxx} from xxxxx写法

2023-02-16 10:48:25 418

原创 <script setup>中父子组件传值及方法调用

中父子组件传值及方法调用 defineProps,defineEmits,defineExpose

2023-01-29 10:53:00 1910

原创 antd vue Cascader多选设置suffixIcon无效

antd vue Cascader多选设置suffixIcon无效

2023-01-09 17:01:23 764

原创 antd Table组件selectedRows翻页未保留上一页已选中数据(方法二)

antd Table组件selectedRows翻页未保留上一页已选中数据

2022-12-14 09:13:52 1089

原创 antd Table组件selectedRows翻页或重新搜索后未保留上一页已选中数据

antd Table组件selectedRows翻页或重新搜索后未保留上一页已选中数据

2022-12-02 16:34:33 982

原创 get方式文件流下载

vue get方式文件流下载

2022-11-29 14:11:18 492

原创 vue实现可拖拽div

vue实现可拖拽div。

2022-09-09 16:30:17 619

原创 js常用正则表达式

js正则

2022-08-29 15:41:46 773

原创 Typescript 泛型

泛型可以理解为在我们定义函数、接口或者类的时候,不预先指定其相关的类型,而是在使用的时候手动指定类型。但是这样,这个函数我只能传字符串类型的参数给这个函数,如果想传数字类型,布尔类型呢。如果想做到传入什么类型就返回什么类型,例如传入number就返回number,这时候就可以使用泛型。any 的缺点:一个变量设置为any后,相当于关闭了ts的类型检测,一般情况下不建议使用any。any:一个变量设置为any后,相当于关闭了ts的类型检测,一般情况下不建议使用any。需求:有个函数会返回任何传入它的值。...

2022-08-29 10:43:28 343

原创 TypeScript type 和 interface区别

类型别名 type 和 接口 interface 区别与联系

2022-08-28 17:30:18 561

原创 Typescript类型

数字类型是我们开发中经常使用的类型,TypeScript和JavaScript一样,不区分整数类型(int)和浮点型(double),统一为number类型。一个字符系列,使用单引号(')或双引号(")来表示字符串类型。never 是其它类型(包括 null 和 undefined)的子类型,代表从不会出现的值。元组类型用来表示已知元素数量和类型的数组,各元素的类型不必相同,对应位置的类型需要相同。// 在元素类型后面加上[]...

2022-08-28 16:06:49 90

原创 uniapp常见兼容性问题

uniapp常见兼容性问题

2022-08-28 15:34:31 7218

原创 腾讯地图初始化以及解析和逆解析

腾讯地图初始化以及解析和逆解析

2022-08-28 15:17:48 2884

原创 百度地图初始化以及解析和逆解析

百度地图初始化以及地址解析和逆解析

2022-08-19 16:23:20 987

原创 创建vue3的项目

利用vite 和 vue-cli 创建vue3的项目

2022-08-19 14:56:56 220

原创 vue中企业微信 第三方应用扫码登录(pc端)

企业微信 第三方应用扫码登录参考文档:接入指引 - 接口文档 - 企业微信开发者中心首先在login页面,写一个按钮,触发点击事件,引导用户进入登录授权页:<button @click="toWxLogin">企业微信扫码登录</button>toWxLogin(){ //授权登录之后目的跳转网址,需要做urlencode处理。所在域名需要与授权完成回调域名一致 let url = 'http://....' //服务商的Cor

2022-05-20 18:39:47 2395

原创 uniapp中uView的安装配置

安装npm install uview-ui配置1. 引入uView主JS库在项目根目录中的main.js中,引入并使用uView的JS库,注意这两行要放在import Vue之后。// main.jsimport uView from "uview-ui";Vue.use(uView);2. 在引入uView的全局SCSS主题文件在项目根目录的uni.scss中引入此文件。/* uni.scss */@import 'uview-ui/theme.scss';

2022-05-17 18:36:27 951

原创 redux、react-redux、redux-thunk、redux-saga对比

reduxredux工作流程示意图actions函数形式,返回 action 对象,通常具有type属性。负责指令的生成,页面通过 store.dispatch(action) 向 store 发送数据修改的请求。reducers一个纯函数,接收两个参数 (previousState, action) 第一个表示修改之前的 state 的值,action 是上一步页面通过 store.dispatch(action) 向 store 传递的 action。reducers 通过 ac

2022-05-07 13:45:50 850 1

原创 浏览器缓存:强缓存和协商缓存

介绍:浏览器缓存是为了节约资源,并且可以加速浏览网站的速度,当用户第一次进行访问网页的时候,浏览器在用户磁盘上对请求的文档进行保存,当用户第二次访问的时候,就会从本地直接显示,从而提高了访问页面的速度。浏览器缓存分为:强缓存和协商缓存两种。缓存的优点:减少了不必要的数据传输,节省带宽 减少服务器的负担,提升网站性能 加快了客户端加载网页的速度 用户体验友好缺点:资源如果有更改但是客户端不及时更新会造成用户获取信息滞后,如果老版本有bug的话,情况会更加糟糕。强缓存:如果资源没过

2022-04-12 15:44:37 1599 1

原创 扫描普通二维码,进入微信小程序

登陆微信公众平台1.点击【开发】-【开发管理】-【开发设置】开启扫普通二维码链接打开小程序,点击添加配置:打开添加配置:二维码规则根据二维码跳转规则,开发者需要填写需要跳转小程序的二维码规则。要求如下: 二维码规则的域名须通过ICP备案的验证。 支持http、https开头的链接(如:http://wx.qq.com、https://wx.qq.com/mp/、https://wx.qq.com/mp?id=123)。 前缀占用规则开发者可选择是否占用符合二维.

2022-04-12 13:01:43 4070

原创 微信扫码ios:scanQRCode:the permission value is offline verifying

报错信息:安卓手机:permission deniedios手机:scanQRCode:the permission value is offline verifying解决方案:1、确认config的jsApiList参数包含了这个JSAPI前端代码:wx.config中jsApiList里加上'scanQRCode'2、确认IP白名单、js安全域名、网页授权域名IP白名单:【开发/基本配置】-【IP白名单】 js安全域名、网页授权域名:【设置/公众号设置】-【功能设置】-.

2022-04-12 12:36:23 4544

原创 微信扫码scanQrCode:permission denied

报错信息:安卓手机:permission deniedios手机:scanQRCode:the permission value is offline verifying解决方案:1、确认config的jsApiList参数包含了这个JSAPI前端代码:wx.config中jsApiList里加上'scanQRCode'2、确认IP白名单、js安全域名、网页授权域名IP白名单:【开发/基本配置】-【IP白名单】 js安全域名、网页授权域名:【设置/公众号设置】-【功能设置】-.

2022-04-12 12:35:15 7523

原创 浏览器的缓存机制

浏览器的缓存机制:就是把一个请求过的web资源(例如:html页面、图片、js、数据等)拷贝一份副本储存在浏览器中;缓存会根据进来的请求保存输出内容的副本,当下一个请求到来的时候,如果是相同的URL,缓存会根据缓存机制决定是否直接使用副本响应访问请求,还是向源服务器再次发送请求。缓存的好处:减少网络宽带产生较小的流量,减轻服务器的压力,渲染缓存的页面,就减少了对源服务器的访问,提高响应页面的速度,用户再次打开不用等待时间过长;缓存的规则:就是根据http协议头和html标签中的meta;从两个维度,

2022-03-05 23:08:37 235

原创 webpack的优化之SplitChunksPlugin

最初,chunks(以及内部导入的模块)是通过内部 webpack 图谱中的父子关系关联的。CommonsChunkPlugin曾被用来避免他们之间的重复依赖,但是不可能再做进一步的优化。从 webpack v4 开始,移除了CommonsChunkPlugin,取而代之的是optimization.splitChunks。optimization.splitChunks下面这个配置对象代表SplitChunksPlugin的默认行为。webpack.config.jsmod...

2022-03-05 18:19:21 2375

原创 uniapp中app应用和h5页面,调用微信h5支付

直接上代码:mixinsPayLoad(res) {//res接受后端的参数,mwebUrl为跳转微信支付路径 // #ifdef H5 window.location.href = res.mwebUrl; // #endif // #ifdef APP-PLUS const platform = uni.getSystemInfoSync().platform const webvie

2022-03-01 12:40:49 6163 1

原创 ios开发者添加开发测试机

从开发者中心进入,配置添加测试设备的udid,并重新下载配置文件1.登录进入开发者中心后,选择入下图2.点击左侧Devices,点击“+”,可看到如下图填写设备信息:UDID查看:使用手机端的Safari浏览器(必须是Safari)访问UDID查询网页www.pgyer.com/udid一步一步添加新设备3.设备添加完毕后 在列表中选择Profiles -> 点击我们的dev证书进入详情后,点击右上角edit,进入编辑模式后,主要关注下方...

2022-02-28 18:41:14 3581

微信公众号拍照功能

此代码是前端在vue中利用sdk调用微信公众号api的拍照功能代码

2018-12-04

空空如也

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

TA关注的人

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