SF
漫漫前端路
漫漫前端路
注册登录
关注博客
注册登录
主页
关于
RSS
canvas绘图模糊处理(高分屏下的canvas绘制)
艾欢欢
2020-11-03
阅读 2 分钟
7.7k
场景在移动端通过 H5 的 canvas 标签绘制图表的时候,不经过任何处理的图表相比较其他元素看起来会有些模糊。序先看下面一组高分屏下的圆,上面是普通 div 元素“绘制”的圆,下面是通过 canvas 绘制的圆。可以看出,下面的圆相比较是模糊的。为什么会这样?一台普通屏幕上的像素(逻辑像素),可以当做是正常的像素(css...
巧用 concat 和 apply 将对象或二维数组转化为一维数组
艾欢欢
2020-07-31
阅读 1 分钟
1.7k
在用node写接口的时候,做了 SQL 防注入,并且封装了一个能返回 修改数据库sql语句 的方法,由于使用了占位符,所以需要将传入的对象按照 key-value 的方式一个个的对应上去。
Nodejs写接口时配置静态文件路径
艾欢欢
2020-07-13
阅读 1 分钟
4k
Nodejs写接口时配置静态文件路径 需要使用 express 关键代码 {代码...} 现在就可以加载public目录下的静态文件了: [链接]:8100/images/someimg.jpg Express 会在静态资源目录下查找文件,所以不需要把静态目录作为URL的一部分。 虚拟静态目录 如果要给静态资源文件创建一个虚拟的文件前缀(实际上文件系统中并不存在) ,...
由React构造函数中bind引起的this指向理解(React组件的方法为什么要用bind绑定this)
艾欢欢
2020-05-29
阅读 5 分钟
4.6k
React文档源码 {代码...} 为什么要用bind重新绑定? 首先一点,React这是使用的ES6的 class ,它只是一种语法糖(只要它能实现的,ES5也能实现)。 而使用 class 创建的对象,在没有通过 new 关键字去实例化的之前,它的内部方法this是无绑定状态的。 也就是说上面的代码,handleClick 方法如果不做绑定,那么这个方法...
js中监听事件addEventListener第三个参数的理解(事件的冒泡与捕获)
艾欢欢
2020-03-20
阅读 2 分钟
6.9k
第一个参数是事件类型,比如点击(click)、双击(dbclick)第二个参数就是函数,触发事件后,需要执行的函数。 而第三个参数就是事件的捕获与冒泡, 为true时捕获,false时冒泡。
vue-cli3项目打包优化
艾欢欢
2020-01-03
阅读 3 分钟
9.4k
.map 文件的作用:项目打包后,代码都是经过压缩加密的,如果运行时报错,输出的错误信息无法准确得知是哪里的代码报错。 有了 .map 就可以像未加密的代码一样,准确的输出是哪一行哪一列有错。
移动端h5监听键盘弹出和收起
艾欢欢
2019-11-01
阅读 1 分钟
11.4k
在ios中软键盘弹起时,仅会引起 $('body').scrollTop 值改变,但是我们可以通过输入框的获取焦点情况来做判断,但也只能在ios中采用这个方案,因为在android中存在主动收起键盘后,但输入框并没有失焦,而ios中键盘收起后就会失焦; 在android中软键盘弹起或收起时,会改变window的高度,因此监听window的 onresize 事件;
前端js/vue下载后台传过来的流文件(如excel)并设置下载文件名
艾欢欢
2019-09-30
阅读 2 分钟
51.3k
这里介绍两种方法,使用 Blob对象 和 使用 js-file-download这两种方法下载的文件都不会乱码,但是 不管使用哪种方法,发送请求时都要设置 responseType 如果不打算了解直接使用,请通过目录或者直接点击跳转 四、主要完整代码
vue项目中点击非刷新按钮,页面刷新并且路由多了个问号解决方案
艾欢欢
2019-09-29
阅读 1 分钟
3.2k
问题描述 在vue项目开发过程中,点击查询或重置按钮,结果页面刷新了一遍 后来发现路径变成了 localhost:8080/?#/advanced 原因 这是因为在 form 表单里,点击了button 按钮,触发了表单的默认事件,也就是触发了提交行为。 解决方案 使用 @click.prevent 阻止默认事件即可 {代码...} 或者不要 form 标签
vue本地打包build之后dist文件下的index.html不显示内容报错Failed to load resource
艾欢欢
2019-09-18
阅读 1 分钟
9.8k
【vue-cli踩坑】Failed to load resource: net::ERR_FILE_NOT_FOUND或者build之后dist文件下的index.html不显示内容
火狐浏览器图形验证码刷新不生效的问题(图片src重新赋值不生效的问题)
艾欢欢
2019-08-31
阅读 1 分钟
3.2k
场景之一 图形验证码刷新 刷新方式:点击一次图片,就重新给src赋值一次,从而进行刷新。 {代码...} 这样写在谷歌浏览器中是正常显示的,没有问题。但是火狐就会出现不刷新的问题。 原因 【由于指定的src与原来图片的src相同,所以在ie7、火狐浏览器下验证码不会刷新】 问题就出在上面的赋值方式,导致每次src的路径都是...
使用vue-i18n实现中英文切换
艾欢欢
2019-08-20
阅读 2 分钟
6.1k
源码地址 :vue-i18n-demo 安装 vue-i18n {代码...} 新建中英文对照文件 {代码...} 在 main.js 文件引入 {代码...} 使用 {代码...} 注: $t 是固定用法 效果:
vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
艾欢欢
2019-08-12
阅读 2 分钟
13.9k
区别 ECB: 是一种基础的加密方式,密文被分割成分组长度相等的块(不足补齐),然后单独一个个加密,一个个输出组成密文。 CBC: 是一种循环模式,前一个分组的密文和当前分组的明文异或或操作后再加密,这样做的目的是增强破解难度。(不容易主动攻击,安全性好于ECB,是SSL、IPSec的标准)
vue中使用v-for时为什么不能用index作为key?
艾欢欢
2019-08-03
阅读 2 分钟
28.9k
结论: 更新DOM的时候会出现性能问题 会发生一些状态bug React 中的 key 也是如此 如果已经了解 为什么要用key,可以通过目录直接跳到下一节。
常用正则表达式公式总结
艾欢欢
2019-06-05
阅读 4 分钟
4.8k
一、校验数字的表达式 数字:^[0-9]\*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]\*)$ 非零开头的最多带两位小数的数字:^([1-9][0-9]\*)+(\.[0-9]{1,2})?$ 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})$ 正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$ ...
【全栈初体验】Vue+Node+MySQL 实现前后端分离开发
艾欢欢
2019-05-29
阅读 5 分钟
14.4k
这个 demo 是MVVM开发模式,我也写过一个前后端结合开发的完整系统 demo Vue项目使用vue-cil3创建的。 使用vue-cil2创建的项目也可以实现,只是配置代理服务器的时候有一点差别。后面分别针对这两个版本进行区分。 数据库操作使用Navicat。
上传文件时监控读取进度,显示进度条
艾欢欢
2019-05-27
阅读 3 分钟
5.7k
我们在使用异步事件处理时还能顺便获得一项优势,那就是能够监控文件的读取进度;这对于读取大文件、查找错误和预测读取完成时间非常实用。 onloadstart 和 onprogress 事件可用于监控读取进度。 以下示例演示了如何通过显示进度条来监控读取状态。要查看进度指示器的实际效果,请尝试读取大文件或远程驱动器中的文件。 ...
选择图片后显示缩略图(自动生成缩略图)
艾欢欢
2019-05-27
阅读 3 分钟
4.5k
参考:使用drop实现点击和拖放选择/上传文件 下面是完整代码,看注释: {代码...}
vue中手动封装iconfont组件(三种引用方式的封装和使用)
艾欢欢
2019-05-07
阅读 3 分钟
6.5k
在线使用 有时候会因网络问题影响用户体验;直接放在 本地使用 ,如果过多使用也会显得繁琐,所以就可以将其封装成一个组件,也方便维护。 封装基于阿里巴巴图标库的项目图标。 初次使用iconfont项目参考: 点我查看使用前的准备和三种引用方式介绍
在vue项目中(本地)使用iconfont字体图标的三种方式
艾欢欢
2019-05-06
阅读 2 分钟
9.4k
使用前的准备和三种使用方式介绍,参考这里 开始使用: 点击下载到本地 在了路径 src/assets 下新建文件夹 iconfont ,用来存放字体图标的本地文件 解压下载到本地的字体图标文件,放到 iconfont 文件夹下 如过项目中没有下载 css-loader 依赖包,就进行下载,否则会报错 {代码...} 然后引入样式并使用即可。 {代码...} ...
Vue进阶,效率和优雅我都要
艾欢欢
2019-05-06
阅读 7 分钟
7.1k
require.context 是一个 Webpack 提供的Api,通过执行require.context函数获取一个特定的上下文,主要是用于实现自动化导入模块。
【vue项目实战】Vue工程化项目--猫眼电影移动端(三)
艾欢欢
2019-05-06
阅读 5 分钟
4.7k
组件化开发,标题部分 多处用到的代码就在全局进行注册 优化用户体验:当网速过慢时,显示加载动画。 播放宣传片 保留组件状态,避免重新渲染 keep-alive 图片懒加载 本节完整demo 第一节
页面刷新后,vuex中数据丢失、清空的解决方案 vuex-persistedstate
艾欢欢
2019-05-05
阅读 1 分钟
13k
应用API进行用户身份验证,将登录状态保存为Vuex状态中的布尔值。当用户登录时,设置了 登录状态 并相应地有条件地显示 登录/注销 按钮。 但是当刷新页面时,vue应用程序的状态将丢失并重置为默认值。 这导致的问题就是:即使用户登录了,但刷新页面时,登录状态 也会设置为false, 这样即使用户保持登录状态,也会显...
vuex 使用总结(详解)
艾欢欢
2019-05-05
阅读 8 分钟
91.2k
如果不打算开发大型单页应用,应用够简单,最好不要使用 Vuex。一个简单的 store 模式就足够了。但是,如果需要构建一个中大型单页应用,就要考虑如何更好地在组件外部管理状态,Vuex 是不错的选择。
在线使用iconfont字体图标
艾欢欢
2019-04-30
阅读 4 分钟
9.5k
使用阿里巴巴矢量图标库 用前准备 在线使用案例 三种使用方式介绍 vue项目(本地)使用iconfont字体图标 使用准备 进入 阿里巴巴矢量图标库 ,登陆以后,搜索需要的图标,然后点击添加入库 进入“我的图标库”(右上角购物车),点击添加至项目 点击 + 图标创建一个新项目,然后把新图标加入到新项目中。(也可以按需添加到已...
【vue项目实战】Vue工程化项目--猫眼电影移动端
艾欢欢
2019-04-30
阅读 6 分钟
6.9k
这里是仿猫眼移动端。使用 vue-cli 创建项目。 本节先介绍并进行项目的初始化,然后把主框架搭起来,熟悉路由和组件,后面在 项目demo 持续贴出完整项目代码。也会更新博客。 第二节传送
vue-router 前端路由之路由传值
艾欢欢
2019-04-30
阅读 2 分钟
5.5k
在前端的路由里面,我们在切换路由的时候,也相当于切换了页面,页面与页面之前有时候需要做到传值 ,这个时候就需要进行路由传值,在VueRouter里面,两个路由之间做跳转的时候,如何进行传值呢?
【前端性能优化】02--vue性能优化
艾欢欢
2019-04-30
阅读 4 分钟
8k
v-show,v-if 用哪个? 首先清楚一点,v-if 会销毁代码,v-show 则是将代码注释掉。所以分两个维度去思考问题,第一个维度是权限问题,只要涉及到权限相关的展示无疑要用 v-if ,第二个维度在没有权限限制下根据用户点击的频次选择,频繁切换的使用 v-show ,不频繁切换的使用 v-if ,这里要说的优化点在于减少页面中 do...
npm install -save 和 --save-dev 等常用命令的区别(-S 和-D)
艾欢欢
2019-04-30
阅读 2 分钟
5.2k
-g 、-save 、--save-dev 可以写在moduleName前面 moduleName 可以是多个,空格隔开 -save 可以简写为 -S --save-dev 可以简写为 -D
【BOM编程】-- cookie的赋值、过期时间、path路径,封装,以及与Storage的区别
艾欢欢
2019-04-30
阅读 3 分钟
2k
cookie 不是window下面的属性,它是document下面的属性,cookie有一套专门的取值与赋值方法,与localStorage,sessionStorage不同