- 博客(36)
- 收藏
- 关注

原创 来自灵魂深处的拷问:人为什么要活着?
声明:以下文字均为我的个人想法,记录下来,如有雷同,纯属巧合,如有异议,欢迎讨论。因为欲望,因为虚荣心,因为该死的自尊心,你渴望的远比你拥有的要多的多,当你的才华配不上你的欲望的时候,你就会想,我为什么要活着,活着又不快乐?其实逻辑不应该是这样子的,当你的才华配不上你的欲望时,正因如此,我才要活着,还有那么多我想要的东西没有拥有!很多人说别贪慕虚荣,虚荣心不好,我认为不是这样的,我因为有了虚荣心,我才有了努力的动力,因为那些没有实现的欲望,我才能更加拼劲全
2020-05-28 18:01:26
476
原创 公司项目vue cli2升级到vue cli3
公司项目迭代时间长,系统庞大,文件繁多,本地开发效率太低,决定对项目构建进行升级,从vue cli2升级到vue cli3
2023-02-24 16:58:36
2416
原创 react router v6在 redux mapStateToProps函数中获取 url中params参数
redux mapStateToProps函数中获取 url中的params动态参数,useParams通过高阶组件封装使用
2022-03-11 16:50:57
1833
原创 解锁了一个scss的新技能(@each)
在公司做的一个需求,有一个页面的内容需要一行一行展现出来,如下效果:从上面的图片到底部的按钮,一个一个的出来(这是最开始的动效,后来觉得有点慢,中间的文字改成了两行两行出现),这个时候css代码是这样子的:.fade-enter-active { transition-property: opacity; // 规定设置过渡效果的css属性的名称 transition-duration: 1s; // 规定过渡效果需要多少秒或毫秒 transition-timing-functi
2021-05-19 19:01:07
575
原创 一行npm命令打包两个node版本不同的项目
背景:公司后台管理系统的代码是angularjs项目和vue项目在一起混搭,vue项目其实是属于angularjs的子项目。如图:问题:之前在用svn发布上线时,都是手动通过nvm执行两次node版本切换,再执行两次打包命令。迁移git要自动发布,就要考虑将四条命令合并成一一条命令。解决方案: 1. 老后台使用的gulp打包,node版本v6.9.2。如下,老后台gulp在打包时会执行一条clean的task,这条任务会将dist目录下面的所有资源全部清除掉。...
2021-05-19 18:17:56
1920
2
原创 nuxt.js请求参数是数组的问题
背景:前两天线上出现了训练营详情无法跳转的问题,定位之后是由于前端在调接口时传参有问题,导致的接口返回参数不对导致的。原因分析: 问题接口:http://o2o.dailyyoga.com.cn/620/yogao2school/session/马赛克?session_id=759&dy=1&app[]=1&app[]=1&version[]=7.14.0.0&version[]=7.14.0.0&a...
2021-05-19 17:04:30
1018
7
原创 项目中的性能优化实战
项目背景:使用nuxt.js构建的一个服务端渲染项目第一轮优化工作:banner图的懒加载:为什么要做?减少首屏打开时的资源请求数量,提高资源加载速度。过程分析:如果使用swiper自带的懒加载轮播切换会有闪烁,体验不好,如果swiper和lazyload同时使用,轮播一圈后第一张显示空白最后解决方案是:首尾两张图片不用懒加载。学员案例懒加载:(该模块是由一个横向可滑动的多图形式构成的)为什么要做?减少首屏打开时的资源请求数量,提高资源加载速度。过..
2021-05-13 18:24:49
622
3
原创 记录兼容性问题
目录问题一:Object.assign方法在Android 5版本及以下不支持问题二:Android 6系统及以下,访问微信头像(第三方图片都会有问题)时图片加载失败,导致页面崩溃问题三:cdn图片兼容性问题,能用qiniu就不要用ypy问题四:新款ipad系统ua只有'macintosh',没有'ipad'字段,并且系统版本描述也不一样,导致在用之前的系统版本拆分方法时,导致错误问题五:safari浏览器在new Date()转换时间戳的时候不支持 YYYY-MM-DD的格式..
2021-05-09 11:28:00
583
原创 前端跨域&iOS端 universal link相关
什么是跨域?为什么会出现跨域问题?出于浏览器的同源策源限制。同源策略是一种约定,它是浏览器最核心也是最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会收到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)。当一个请求的url的协议、域名、端口三者之间任意一个与当前页面url不
2021-03-08 22:00:59
1518
2
原创 mac M1 nvm 安装问题
新款的mac搭载了苹果自研的芯片,放弃了intel的x86芯片,那之前的软件难免会存在兼容性问题。鄙人有幸踩了第一个坑。在通过nvm 安装不同版本的node 时,出现了问题。通过nvm安装最新的node版本 v15.8.0,没有什么问题,可以正常安装,这是因为最新版本的nvm和node,已经对M1做了兼容处理。但是当通过nvm安装v15.x.x一下版本node 时,就会出现如下报错:头疼,看来ARM架构还是需要一段过度历程要走的。后来终于在nvm github官方库中找到了.
2021-02-25 11:21:26
11977
17
原创 JavaScript数据结构之栈的认识
栈数据结构栈是一种遵从后进先出(LIFO)原则的有序集合。新添加或待删除的元素都保存在栈的同一端,称作栈顶,另一端就叫栈底。在栈里,新元素都靠近栈顶,旧元素都接近栈底。接下来,我们创建一个类来表示栈。新建一个 stack-array.js 文件const Stack { constructor() { this.items = []; } // 下面是为栈声明一些方法 push(element) { // 添加新元素到栈顶 this.items.push
2020-10-15 18:05:24
169
1
原创 ant design vue之 modal组件动态设置title
今天遇到的问题,差点被自己蠢哭了。问题背景:想要的效果本来是像下面这样。点击新增角色,title是 '新增角色名称'。点击编辑角色名,title是'编辑角色名称'。一开始我陷入了一个误区,下面是部分关键代码<template> <a-button @clcik="showNameDialog">新增角色</a-button> <a-button @click="showNameDialog(true)">编辑角色</a-butto.
2020-09-18 11:14:13
10324
3
原创 ant desigin vue之 tree(树形控件)中设置defaultExpandAll无效的问题
问题:在做后台管理系统的菜单管理列表时,用到ant-design-vue中的 a-tree 树形控件展示菜单列表,以及进行操作列表。需要在加载出列表时,同时展开所有的树节点。查看文档,https://www.antdv.com/components/tree-cn/使用defaultExpandAll属性,但是一直不生效,template中的代码如下:<a-tree default-expand-all :tree-data="adminMenuList" :show-line.
2020-09-04 10:28:29
7878
3
原创 ant design vue之select组件placeholder属性不起作用
最近开始做公司后台管理系统的重构,由于后台管理系统没有UI大佬出原型图,所以就选择使用UI框架,保持页面整体样式的统一,我这边使用的是ant design vue。问题:我在表单中使用select组件时设置的placeholder一直不显示,template中的代码如下<a-select v-model="searchParams.coach_id" placeholder="请选择" style="width: 180px"> <a-select-opti
2020-08-28 14:19:49
5526
6
原创 vuecli3 配置全局sass/scss变量报错
最近在用vuecli3重写一个项目时,注意到了代码中的一个可优化的点,就是scss文件的重复引用。如上图所看到的,同一个css样式书写了两遍。为什么会出现上面的这种情况呢?项目中有一个common.scss的通用样式文件,里面保存着一些抽离出来的公共样式,便于以后统一修改,但是之前的项目是在每一个需要用到通用样式的页面都进行的引入,因此就导致了该文件的重复引入。如图,是com...
2019-10-08 09:59:28
3273
1
原创 基于渲染流程的CSS优化建议
CSS 选择符是从右到左进行匹配的,比如 #myList li {}实际开销相当高。 避免使用通配符,只对需要用到的元素进行选择。 关注可以通过继承实现的属性,避免重复匹配重复定义。 少用标签选择器。如果可以,用类选择器替代。错误:#dataList li{} 正确:.dataList{} 不要画蛇添足,id 和 class 选择器不应该被多余的标签选择器拖后腿...
2019-08-22 10:54:20
165
原创 js实现数组去重简洁代码(filter,Set,reduce)
1、通过filter实现数组去重filter中传入的函数有三个参数。第一个item表示当前元素的值,第二个index表示当前元素的索引值,第三个self表示当前元素属于的数组对象。var arr = [2,4,3,3,4,2,3,254,234,4];function unique(arr) { return arr.filter((item, index, self) =&g...
2019-08-01 22:05:22
1108
原创 import Vue from 'vue'的过程
1、找项目根目录中有没有node_modules的文件夹2、在node_modules中根据包名,找对应的vue文件夹3、在vue文件夹中,找一个叫做package.json的包配置文件4、在package.json文件中,查找一个main属性【其中main属性指定了这个包在被加载的时候的入口文件】...
2019-07-23 21:55:57
710
原创 vue中子组件触发父组件中的函数
总体来说就是,通过'v-on'事件绑定符绑定一个父组件的函数,然后在子组件中通过$emit来触发,$emit()中的第一个参数是 在父组件中绑定函数时自定义的函数名,第二个参数往后则为传递到父组件函数中的参数,代码如下,可直接复制看结果。html部分代码:<!DOCTYPE html><html> <head> <meta charset...
2019-07-16 23:51:52
3275
原创 一篇文章搞懂this指向问题
先上结论:1.元素绑定事件,方法中的this是当前操作的元素2.方法名前面是否有点,有点,点前面是谁this就是谁,没有this是window(严格模式会有问题)3.构造函数执行,方法体中的this是当前类的一个实例再来举例: 第一种元素绑定事件的情况大家应该都比较好理解,就不举例了。事例1:var fullName = 'language';var obj =...
2019-07-09 07:50:58
163
原创 判断字符串回文
// 方法一 使用reverse()/*** split(separator,howmany) 把一个字符串分隔成字符串数组* @param separator* 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject* @param howmany* 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组...
2019-05-28 17:31:07
658
原创 vue 项目中点击目标区域之外可关闭(隐藏)目标区域
解决思路1、vue模块中的内容 --class为myPanel的div是我们要处理的那个小组件。<template> <div class="hello"> <div class="myPanel" v-if="panelShow"></div></div></template>...
2019-03-21 00:58:19
4917
2
原创 vue cli3.0基础配置vue.config.js文件
vue cli3.0项目中需要配置其他参数时,需要新建文件'vue.config.js',文件名必须是这个,与package.json在同一级目录下。以下是一些简单基本的配置,包含①常用插件的配置,②端口号的配置③跨域请求的配置等等注:其中eslint的检测配置 lintOnSave 貌似没生效,不知为何(做摊手状--无奈),有大佬知道的还望不吝赐教~const webpack ...
2019-02-18 22:26:33
1880
原创 npm-cli.js报错
安装node的新版本,之后npm -v 报错,找不到npm-cli.js文件。然后在网上各种查,发现都没实现:1、卸载重装(失败)2、使用gnvm升级npm(失败--直接就没升级成功)3、把朋友好着的node解压包拿过来用(失败--我的和他的没什么区别)后来我就觉得肯定是之前的node 版本有什么缓存没清理干净,想到了环境变量,然后我就把和npm相关的环境变量全部删掉,然后重新...
2019-01-31 22:39:04
1572
原创 setTimeout的骚操作
先回顾一下定时器的一些重要知识:1、Javascript引擎是单线程执行,异步事件必须要排队等待才能执行。2、如果无法立即执行定时器,该定时器会被推迟到下一个可用的执行时间点上(可能更长,但不会比指定的延迟时间更少)。3、如果一直被延迟,到最后,Interval间隔定时器可能会无延迟执行,并且同一个interval处理程序的多个实例不能同时进行排队。4、setTimeout()和s...
2018-12-10 21:16:59
314
原创 你所不知道的javascript函数重载
本文内容基本来自于JavaScript Ninja一书(79页),讲道理,我看懂那个方法都费了好大劲,也不知道理解的对不对,有大佬有好的想法可以供我参考参考会不胜感激~javascript函数重载不同于其他语言的函数重载,它其实没有真正意义上的重载,只是通过传入的参数进行判断来模拟函数重载。基本上有以下三种方法:1、通用方法,根据传入参数的类型执行不同的操作。2、通过某些特定参...
2018-11-21 22:07:21
200
原创 遍历对象:编写一段js代码实现对对象obj={x:1,y:{a:2,b:{c:3,d:4}}}所有值的遍历
var obj = { x: 1, y: { a: 2, b: { c: 3, d: 4 } }};//获取对象所有的key值function getKeys(obj) { //es6新语法 Object.prototype.toString()方法精准判断参数...
2018-10-31 23:23:39
5149
2
原创 eclipse jdk官网下载不了
最近在学习java的简单语法,在下载eclipse时受挫,通过浏览器怎么都下载不下来。最后,我是通过迅雷下载的,速度杠杠滴。哈哈,莫名给迅雷打个call。1、eclipse下载地址:https://www.eclipse.org/downloads/ 根据自己的电脑操作系统选择对应的版本,我是windows64位操作系统。操作过程如下:2、下载JDK安装包同理。下载地址...
2018-10-31 08:21:21
3393
3
原创 前端面试题总结(持续更新中···)
目录1、什么是响应式设计?响应式设计的基本原理是什么?2、Javascript的基本数据类型有哪些?3、什么是闭包(closure),为什么要用它?4、Jquery一个对象可以同时绑定多个事件,这是如何实现的?5、如何实现浏览器内多个标签页之间的通信(页面间数据传输)?6、null和undefined的区别?7、MVVM与MVC的区别?8、常用的块级元素、行内元素、...
2018-10-19 00:14:15
225
原创 css实现一个页面loading的动画
有点笨,不会生成gif图,效果就是那两张图片中的黑点点,会按顺序从无到有,形成一种loading的感觉。完整代码如下,可直接复制看效果~<!DOCTYPE html><html><head> <title></title></head><style...
2018-09-10 00:12:13
551
原创 cookie的domain属性
欢迎大家光临我的个人博客,详戳 https://545longgege.top/最近在改一个bug单时,有个问题涉及到了cookie的domain属性,大致场景是由于不同的服务页面出现了同名的cookie但是domain域不同,导致出现了不可思议的bug。于是查询与cookie的domain属性相关的资料并记录之。1、什么是Cookie? Cookie是由W3C组织提出,最...
2018-07-31 00:57:44
93834
14
原创 浅谈Object.assign(对象合并、浅复制)
object.assign()方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象,它将返回目标对象。var person1 = { name: "xiaoming", age: 18, job: "programmer"}var person2 = { age: 21, stature: "181cm"}var person = Ob...
2018-07-23 00:36:45
4798
原创 NEGATIVE_INFINITY 属性
虽然是这里的第一篇博客,不过还是直接上干货!看犀牛书时无意间看到NEGATIVE_INFINITY属性,一脸懵,所以记录一下。NEGATIVE(negative/'negətiv'/) adj. 负的,消极的,否定的这么一翻译就明白了,是表示负无穷的意思。下面是W3school的描述:NEGATIVE_INFINITY 属性表示小于 Number.MIN_VALUE 的值。该值代表负无穷大。N
2018-01-18 23:29:48
1461
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人