自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue3 + vite 实现一个动态路由加载功能

它能通过我们提供的路径动态引入相关的组件,如果我们传入了../views/**/**.vue,它返回的相关格式是这样子,这样的话就可以用过路径获取相关异步导入组件的函数了。PS: 如果退出登录需要清除动态路由的话,因为现在vue-router没有提供可以直接清空的方法,所以可以考虑返回登录页后刷新一下界面来解决~最后在main.js里调用一下setupPermission方法就行~在vite里主要使用到的方法是。假设后端返回的格式是这样子。

2024-03-20 01:51:01 268

原创 uni-app 实现拍照后给照片加水印功能

uni-app 实现拍照后给照片加水印功能

2024-02-24 22:45:54 910

原创 vue3 封装一个通用echarts组件

vue3通用echarts组件封装

2024-02-12 23:10:51 1793

原创 vue3 可视化大屏自适应屏幕组件

可视化大屏的界面自适应

2024-02-10 23:59:28 1443

原创 uni-app 使用vite.config.js

uni-app 使用 vite.config.js

2023-08-14 20:44:49 623

原创 虚拟列表的实现(简单易懂)

虚拟列表的实现

2023-08-09 21:15:55 285

转载 chrome浏览器禁用跨域功能

chrome浏览器禁用跨域功能

2023-02-17 13:01:42 5621 1

原创 echarts图表导出为pdf

echarts图表导出为pdf

2023-02-13 23:38:39 938

原创 简单实现一个权限路由

简单实现一个权限路由

2022-12-18 23:57:41 268

原创 【前端】docker打包镜像并上传到仓库

docker打包镜像并上传到仓库

2022-10-29 11:07:57 2189

原创 浅谈vue-draggable原理

浅谈一下vue-drabble的源码实现

2022-10-16 18:56:12 1655

原创 item宽度不固定的情况下判断是否超出一行

item宽度不固定的情况下判断是否超出一行

2022-10-10 17:12:38 188

原创 uni-app 实现一个环形进度条

uni-app实现一个环形进度条

2022-09-29 11:11:06 3166

原创 学习blog之简单vue-router实现

vue-router的简单实现,方便各位理解vue-router这个插件~

2022-09-19 21:21:42 198

原创 vue:实现一个简单的分类树

Vue简单分类树实现

2022-09-03 23:29:45 512

原创 2022.6.13 video标签只显示了音频问题

video标签只显示了音频问题

2022-06-13 22:52:49 681

原创 2022.6.12 canvas实现手写签名操作

canvas实现手写签名操作

2022-06-12 23:35:02 250

原创 el-table出现cannot read property ‘key‘ of undefined

起因:线上项目突然反馈说有列表卡死的情况,紧急排查了一下,发现是返回了重复的列表id了,而且我们使用了rowKey属性,所以卡死了。这是后端迁移的数据,是正常的,所以得我们解决…解决方案:获取数据时我们手动给列表设置一个不重复的id// 假如table数据是data,页数是page,数量是limitdata.forEach(item => { item._id = `${item.id + (page * limit)}`})这样子就能保证每个id不重复并且翻页时id都能对得上了~

2022-01-23 22:00:55 1614

原创 2021-10-07 算法题学习01

1.给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。解法1.ES6var containsDuplicate = function(nums) { return new Set(nums).size !== nums.length};2.哈希表(空间换时间)var containsDuplicate = function(nums) { const set = new Set()

2021-10-08 00:43:32 44

原创 2021-10-04 前端性能优化方法

文章目录前言1、GZIP1.1、使用步骤2、CDN2.1、使用步骤2.读入数据总结前言随着代码数量越来越多,如何加快项目浏览器中的运行速度,减少用户的等待时间便成为了很重要的一个方面,以下是我经过实践后的几个方法1、GZIPGZIP可以对文件进行压缩,压缩比例到3到10左右,是很实用的压缩方法1.1、使用步骤因为我们目前的项目比较老,使用的是vue-cli2.x的版本,所以只需要在vue-cli2的config.js文件中进行如下配置并安装compression-webpack-plugi.

2021-10-04 03:24:55 69

原创 vue+element+vue-cropper实现上传裁剪功能

在用户上传前在before-upload钩子获取files文件,然后中断上传操作beforeAvatarUpload (files) { this.filename = files.name this.openCropper(files) return false}然后在openCropper方法中用FileReader对读取文件并打开自己的cropper组件openCropper (file) { var _this = this var reader = new FileR

2021-03-10 10:11:54 582 2

原创 文本节点超过父元素 解决办法

当我们的文本节点内容是英文或者数字时,它默认是不会换行的,如下图有两种解决办法1.省略号三件套text-overflow: ellipsis;overflow: hidden;white-space: nowrap;2.css设置word-wrap: break-word这样就会在达到父元素的宽度后进行换行了!注:在网上看到有个break-all属性,但是chrome浏览器试过后并没有...

2020-09-24 14:57:58 463

原创 VSCode:设置格式化不加分号,使用单引号以及函数和括号之间有一个空格

首先安装Prettier插件,不过格式化文档还是要选择Vetur在VSCode的settings.json添加如下配置“vetur.format.defaultFormatterOptions”: {“prettier”: {“semi”: false,“singleQuote”: true}},“vetur.format.defaultFormatter.js”: “vscode-typescript”,“javascript.format.insertSpaceBeforeFuncti

2020-06-26 17:18:24 5193

转载 element-ui el-table翻页不丢失选中状态

https://blog.csdn.net/Ms_alinda/article/details/102861781?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.none.

2020-06-17 15:15:14 1566

原创 Blog: 用element-ui表格实现可在表格内编辑,修改数据

实现效果如下:更改完数据也改变了<template> <el-table :data="tableData" @cell-dblclick="handle" style="width: 100%"> <el-table-column prop="date" label="日期" width="180"> <template slot-scope="scope"> <div v-if="!scope.row

2020-06-16 23:10:01 7086 12

原创 Blog: 做了个简单的h5列表拖动demo(2)

<template> <div class="wrap"> <div class="list-wrap"> <div id="list" class="list"> <div :id="item" class="list-item" draggable="true" v-for="item of list" :key="item"> {{ item }} </div&

2020-06-14 18:30:37 231

原创 Blog: 做了个简单的h5拖动demo

<template> <div class="wrap"> <div class="list-wrap"> <div class="list"> <div class="list-item" draggable="true" v-for="item of list" :key="item"> {{ item }} </div> </div&gt

2020-06-14 12:39:28 144

原创 学习blog:Vue实现路由懒加载以及将组件打包到一个模块中

目前Vue Router官方推荐的懒加载形式是这样const Foo = () => import('./Foo.vue')const router = new VueRouter({ routes: [ { path: '/foo', component: Foo } ]})当然你也可以直接这么写const router = new VueRouter({ routes: [ { path: '/foo', component: () => impor

2020-06-05 18:38:12 323

原创 学习ts blog:对ts学习过程中的一些记录

1.函数的重载function getInfo(name: string):string;function getInfo(name: string, age: number):string;// 不符合上面两种格式会报错function getInfo(name: any, age?: any):any { /* code... */}2.抽象类// 抽象类不允许实例化,只能extends继承abstract class Animal { public name: string

2020-05-28 00:35:00 105

原创 对原型链、prototype和__proto__的一些理解

之前看到原型链虽然大致上会有些理解,但是还是会有些凌乱,不能很好的总结,今天深入地去做了一下了解,并做一个小总结。1.原型链和__proto__原型链实际上是通过__proto__这个属性去实现的,当我们调用一个方法时,如果没有,它就会向__proto__指向的位置去找,直到__proto__指向的值为null的时候还没有找到,就会返回错误,这也就是我们所说的原型链。比如我们定义一个对象A:let A = {}当我们调用A.valueOf()时,在A对象里并没有这个方法,它就会去A.__prot

2020-05-25 20:32:28 138

原创 前端开发--SEO优化

SEO优化是我们前端开发中非常需要着重了解的一个方面,因为很多公司都会有这个需求就是提升网站在搜索引擎中的排行,所以一定要在开发前先询问一下是否需要这点,这对我们后面框架的选择很重要!SEO优化的方法如下:1.也是非常重要的一点,一定不要使用单页面应用,如Vue,React,它们在SEO方面是非常非常差的,这也是单页面应用最大的缺点,不过有基于它们的两个框架可以解决这样的问题,如Vue的Nuxt.js,React的Next.js2.在每个页面的Head标签下的Meta标签进行设置合理的title、de

2020-05-13 13:28:14 326

原创 前端常用的一些排序算法

https://github.com/Ordinary-Programmer/algorithm

2020-05-02 11:40:52 141

原创 网站不允许复制怎么办

有些时候我们点进一些网站想复制他们的文章,但是发现按下ctrl + c后并没有复制成功,那是因为我们的请求被网站拦截了,那应该怎么办呢?很简单,按下F12,在控制台放进一串代码(function() { document.addEventListener('copy',(e)=>{ console.info(e.target); })}());这时我们再选一遍我们想...

2019-10-13 19:15:49 235

原创 实现鼠标悬停在上面会有一个遮罩效果

我的需求是这样的,鼠标悬停在logo上会有一个很浅的变白效果以便和其它地方区分开,或许你会说直接css上hover选择器里换个颜色不就好了,但是因为我这个是能挑选颜色的所以我就放弃了这种方法,所以这个时候我们就需要加上一个div <div v-if="isCollapse" class="logo-wrapper fl" style="width: 64px;"> <di...

2019-10-10 18:26:11 1995

原创 js 浅复制和深复制

// 浅复制 function clone(obj) { var buf; if (obj instanceof Array) { buf = [] let i = obj.length while (i--) { buf[i] = obj[i] ...

2019-09-27 15:09:55 85

原创 前端好还是后端好

其实这个问题没有一个特别好的答案,不过身边的人普遍都认为后端比前端好,就这么说吧,本人是做前端的,我同学说过一句话,那是我学了后端,要是我学了前端,那肯定比你强,所以吧,我觉得现在的人对前端的误解太大,的确,前端入门的确比后端简单,当初我就是因为这个原因做前端的,但是学到后面越学就发现要学的越多,因为近几年前端的更新迭代太快了,所以你需要不停地看这些新出的东西才能保证自己不会落后,后端的话虽然入门...

2019-08-28 13:51:00 4036

原创 angular router-outlet的一个好用的功能

今天做项目遇到了一个难题,就是在页面中有一个子路由通过router-outlet去展示,但是有一个需求,就是需要根据它的跳转来获取不同的数据,一开始想着使用Input,Output方法尝试一下(没错,vue里面就可以在路由里使用事件传递,不过也是因为它没有设置对应的周期函数),但是很遗憾行不通,然后就又想了各种各样的方法,但要不就是没法实现,要不就是影响性能,直到我发现了router-outlet...

2019-08-22 10:19:38 2593 1

原创 Angular一些api的使用(不定期更新)

最近公司要求学习angular,其实框架不难,但是就是里面的一些api挺难记下来,所以想在这记录一下api的使用方法来方便自己的查询。1.forwardRef例子:import { Component,Inject,forwardRef } from 'angular2/core';@Component({ selector: 'app', template: ` ...

2019-07-31 14:20:56 494

原创 webpack:proxy中cookie无法保存的解决办法

这几天做个小项目遇到了跨域问题,于是就用了webpack的proxy解决,用的挺爽的,但是做到登录之后,因为服务端使用cookie和sessionid做登录状态保存的,结果就悲催了,我发现它没有将cookie保存起来,简单来说就是我们本地用的是localhost,与我们跨域所用的域名对不上,网上看了下几位大神的博客都对我的项目没有什么作用,于是我又看了下http-proxy-middleware的...

2019-07-06 21:43:58 3667

原创 TypeError: CleanWebpackPlugin is not a constructor

今天对照着中文文档使用clean-webpack-plugin发现报错TypeError: CleanWebpackPlugin is not a constructor点开它里面的链接之后才发现原来是用法改了,好坑…现在用法如下:const { CleanWebpackPlugin } = require('clean-webpack-plugin'); const webpack...

2019-06-30 18:41:13 293

空空如也

空空如也

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

TA关注的人

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