react router v6在 redux mapStateToProps函数中获取 url中params参数 redux mapStateToProps函数中获取 url中的params动态参数,useParams通过高阶组件封装使用
解锁了一个scss的新技能(@each) 在公司做的一个需求,有一个页面的内容需要一行一行展现出来,如下效果:从上面的图片到底部的按钮,一个一个的出来(这是最开始的动效,后来觉得有点慢,中间的文字改成了两行两行出现),这个时候css代码是这样子的:.fade-enter-active { transition-property: opacity; // 规定设置过渡效果的css属性的名称 transition-duration: 1s; // 规定过渡效果需要多少秒或毫秒 transition-timing-functi
一行npm命令打包两个node版本不同的项目 背景:公司后台管理系统的代码是angularjs项目和vue项目在一起混搭,vue项目其实是属于angularjs的子项目。如图:问题:之前在用svn发布上线时,都是手动通过nvm执行两次node版本切换,再执行两次打包命令。迁移git要自动发布,就要考虑将四条命令合并成一一条命令。解决方案: 1. 老后台使用的gulp打包,node版本v6.9.2。如下,老后台gulp在打包时会执行一条clean的task,这条任务会将dist目录下面的所有资源全部清除掉。...
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...
项目中的性能优化实战 项目背景:使用nuxt.js构建的一个服务端渲染项目第一轮优化工作:banner图的懒加载:为什么要做?减少首屏打开时的资源请求数量,提高资源加载速度。过程分析:如果使用swiper自带的懒加载轮播切换会有闪烁,体验不好,如果swiper和lazyload同时使用,轮播一圈后第一张显示空白最后解决方案是:首尾两张图片不用懒加载。学员案例懒加载:(该模块是由一个横向可滑动的多图形式构成的)为什么要做?减少首屏打开时的资源请求数量,提高资源加载速度。过..
记录兼容性问题 目录问题一:Object.assign方法在Android 5版本及以下不支持问题二:Android 6系统及以下,访问微信头像(第三方图片都会有问题)时图片加载失败,导致页面崩溃问题三:cdn图片兼容性问题,能用qiniu就不要用ypy问题四:新款ipad系统ua只有'macintosh',没有'ipad'字段,并且系统版本描述也不一样,导致在用之前的系统版本拆分方法时,导致错误问题五:safari浏览器在new Date()转换时间戳的时候不支持 YYYY-MM-DD的格式..
前端跨域&iOS端 universal link相关 什么是跨域?为什么会出现跨域问题?出于浏览器的同源策源限制。同源策略是一种约定,它是浏览器最核心也是最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会收到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)。当一个请求的url的协议、域名、端口三者之间任意一个与当前页面url不
mac M1 nvm 安装问题 新款的mac搭载了苹果自研的芯片,放弃了intel的x86芯片,那之前的软件难免会存在兼容性问题。鄙人有幸踩了第一个坑。在通过nvm 安装不同版本的node 时,出现了问题。通过nvm安装最新的node版本 v15.8.0,没有什么问题,可以正常安装,这是因为最新版本的nvm和node,已经对M1做了兼容处理。但是当通过nvm安装v15.x.x一下版本node 时,就会出现如下报错:头疼,看来ARM架构还是需要一段过度历程要走的。后来终于在nvm github官方库中找到了.
JavaScript数据结构之栈的认识 栈数据结构栈是一种遵从后进先出(LIFO)原则的有序集合。新添加或待删除的元素都保存在栈的同一端,称作栈顶,另一端就叫栈底。在栈里,新元素都靠近栈顶,旧元素都接近栈底。接下来,我们创建一个类来表示栈。新建一个 stack-array.js 文件const Stack { constructor() { this.items = []; } // 下面是为栈声明一些方法 push(element) { // 添加新元素到栈顶 this.items.push
ant design vue之 modal组件动态设置title 今天遇到的问题,差点被自己蠢哭了。问题背景:想要的效果本来是像下面这样。点击新增角色,title是 '新增角色名称'。点击编辑角色名,title是'编辑角色名称'。一开始我陷入了一个误区,下面是部分关键代码<template> <a-button @clcik="showNameDialog">新增角色</a-button> <a-button @click="showNameDialog(true)">编辑角色</a-butto.
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.
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
来自灵魂深处的拷问:人为什么要活着? 声明:以下文字均为我的个人想法,记录下来,如有雷同,纯属巧合,如有异议,欢迎讨论。因为欲望,因为虚荣心,因为该死的自尊心,你渴望的远比你拥有的要多的多,当你的才华配不上你的欲望的时候,你就会想,我为什么要活着,活着又不快乐?其实逻辑不应该是这样子的,当你的才华配不上你的欲望时,正因如此,我才要活着,还有那么多我想要的东西没有拥有!很多人说别贪慕虚荣,虚荣心不好,我认为不是这样的,我因为有了虚荣心,我才有了努力的动力,因为那些没有实现的欲望,我才能更加拼劲全
vuecli3 配置全局sass/scss变量报错 最近在用vuecli3重写一个项目时,注意到了代码中的一个可优化的点,就是scss文件的重复引用。如上图所看到的,同一个css样式书写了两遍。为什么会出现上面的这种情况呢?项目中有一个common.scss的通用样式文件,里面保存着一些抽离出来的公共样式,便于以后统一修改,但是之前的项目是在每一个需要用到通用样式的页面都进行的引入,因此就导致了该文件的重复引入。如图,是com...
基于渲染流程的CSS优化建议 CSS 选择符是从右到左进行匹配的,比如 #myList li {}实际开销相当高。 避免使用通配符,只对需要用到的元素进行选择。 关注可以通过继承实现的属性,避免重复匹配重复定义。 少用标签选择器。如果可以,用类选择器替代。错误:#dataList li{} 正确:.dataList{} 不要画蛇添足,id 和 class 选择器不应该被多余的标签选择器拖后腿...