![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
web缓存
A 风
这个作者很懒,什么都没留下…
展开
-
JavaScript 链式调用
原理:在构造函数中创建方法时,return this 返回当前调用方法的对象,可以实现链式调用方法。原创 2023-02-27 15:12:42 · 76 阅读 · 0 评论 -
小程序实现密码交替显示隐藏的效果
默认密码隐藏起来(显示为点),后面的图标是闭眼;用户点击图标后,图标变成睁眼,同时把密码明文显示出来;1、安卓手机点一轮后失效了(点一次密码可见,再点一次密码不可见,再点只是图标在切换,密码一直是不可见)===最终网上找到解决方法,就是不用type属性,改用password属性。2、苹果手机第一次点击还会把密码框上的内容清空了。这样的代码在微信开发者工具测试是没问题的。原创 2023-02-23 15:29:15 · 295 阅读 · 0 评论 -
你确定多窗口之间sessionStorage不能共享状态吗?
其实不仅window.open(“同源页面”)这种方式新开的页面会复制之前的sessionStorage,通过a标签新开的页面同样也会,原理相同,在这就不赘述了。经过一系列的学习 (百度) 之后,笔者发现如果从本页面以新开页签的方式打开一个同域下的新页面,新开的页面会和之前的页面 ‘共享’ sessionStorage。(斩钉截铁,认真脸)在页面中有个button按钮,点击按钮触发 window.open(“同源页面”),现得到新开的页面B,在B中执行。原创 2023-02-03 09:33:23 · 1314 阅读 · 0 评论 -
/*axios的取消的语法*/
【代码】/*axios的取消的语法*/原创 2023-01-31 09:41:50 · 80 阅读 · 0 评论 -
支付宝小程序总结
imageOutput: ‘roi’, //imageOutput参数为“global”或者“roi”scopes: [“mfrstre”, “hospital_order”], //获取用户信息的固定写法。// subTime: “11月24日 9:00”// subTime: “11月24日 9:00”// subTime: “11月24日 9:00”原创 2022-12-29 11:08:35 · 769 阅读 · 0 评论 -
如何生成支付宝小程序链接,点击直接打开并进入某个页面
来到CSDN社区已经很长时间了,经常看大家在这里分享的知识文章,受益匪浅。今天刚好在公司写项目踩到了一个小坑就想着记录下来,希望能够帮助到大家。业务需求场景:商城分销,分销人点击分享按钮即可生成某个商品的分享链接,用户点击链接直接打开支付宝小程序跳转到这个商品的商品详情页思路:通过scheme跳转小程序页面,可以在scheme中传参。原创 2022-12-27 15:27:06 · 1588 阅读 · 0 评论 -
element-ui上传组件bug
解决 上传组件必须外面独占一行 el-row 包裹才行,切记不能el-col。问题:就是没有预览和删除按钮遮盖层,很像个被禁用一样。原创 2022-10-19 18:04:40 · 742 阅读 · 0 评论 -
卡券效果制作
代码】卡券效果制作。原创 2022-08-13 14:45:07 · 81 阅读 · 0 评论 -
小程序很少很少
小程序很少原创 2022-08-06 15:06:31 · 73 阅读 · 0 评论 -
apicloud 监听键盘弹出和隐藏
代码】apicloud监听键盘弹出和隐藏。原创 2022-07-22 17:06:10 · 358 阅读 · 0 评论 -
实现登录和用户信息组件的按需展示
在 my.vue 页面中,通过 mapState 辅助函数,导入需要的 token 字符串:在 my.vue 页面中,实现登录组件和用户信息组件的按需展示:10.2.3 实现登录组件的基本布局为 my-login 组件定义如下的 UI 结构:10.2.4 点击登录按钮获取微信用户的基本信息需求描述:需要获取微信用户的头像、昵称等基本信息。为登录的 button 按钮绑定 open-type=“getUserInfo” 属性,表示点击按钮时,希望获取用户的基本信息:10.2.5 将用户的基本信息存原创 2022-07-10 18:36:39 · 403 阅读 · 0 评论 -
绘制登录盒子底部的半椭圆造型
// 绘制登录盒子底部的半椭圆造型原创 2022-07-09 17:40:32 · 109 阅读 · 0 评论 -
怎么去除apicloud顶部的阴影
api.safeArea 这个api可以获取顶部或者底部的阴影距离原创 2022-06-04 12:12:07 · 91 阅读 · 0 评论 -
apicloud 开发 图片预览功能
1.首先下载模块,经过市场调研PhotoBrowser符合条件,之后云编译,之后loader编译重新安装包放入模拟器中即可使用。原创 2022-06-04 12:09:50 · 227 阅读 · 0 评论 -
什么是作用域
作用域的分类全局作用域(window)函数作用域(局部作用域)块级作用域({})动态作用域(this)全局作用域:变量在函数或者代码块{}外定义。函数作用域:变量在函数内部,函数作用域对外层是封闭的,外部的作用域无法直接访问内部的作用域...原创 2022-04-11 11:28:26 · 276 阅读 · 0 评论 -
element ui视频上传(已上线,拿去即用)
1.template 部分<template> <div class="editPage__video"> <div class="title">视频设置</div> <div class="img__con"> <el-upload class="avatar-uploader" :action="uploadImgUrl" :data="uploadImgD原创 2022-03-29 08:53:45 · 1936 阅读 · 0 评论 -
实现简易的 Vue 响应式
本文的目的是掌握 Vue2 中的 响应式原理,学习的过程是手写一个简易版的Vue。从数据劫持,到模板编译,再到依赖收集,完完整整的自己实现整套数据响应式的流程。一个最基础的响应式实现一个属性的响应式我们首先封装一个响应式处理的方法 defineReactive,通过 defineProperty 这个方法重新定义对象属性的 get 和 set 描述符,来实现对数据的劫持,每次 读取数据 的时候都会触发 get ,每次 更新数据 的时候都会触发 set ,所以我们可以在 set 中触发更新视图.原创 2022-03-23 11:11:48 · 1054 阅读 · 0 评论 -
vue-router的params和query传参的使用和区别
首先说下$router和$route的区别$router路由的操作对象(只写对象),$route路由的信息对象(只读对象)//操作 路由跳转this.$router.push({ name:'hello', params:{ name:'word', age:'11' }})//读取 路由参数接收this.name = this.$route.params.name;this.age = this.$route.原创 2022-03-09 17:24:07 · 738 阅读 · 0 评论 -
进阶进阶 复习50个JavaScript「进阶」知识点,金三银四
金三银四金三银四快要到来了,希望各位想找工作的朋友们要做好准备啊。上一次给大家分享了50个JS「基础」知识点——金三银四!我带你复习50个JavaScript「基础」知识点今天就带着大家来复习一下JavaScript的50个「进阶」知识点哦~~~开始复习1、undeclared 与 undefined的区别?undefined:声明了变量,但是没有赋值undecalared:没有声明变量就直接使用var a; //undefinedb; // b is not defined原创 2022-03-01 11:11:52 · 668 阅读 · 0 评论 -
[高级]pdf生成(可水印)、pdf预览(可分页)、pdf打印:全栈一条龙方案
前言每个前端开发者的一生中总会遇到一些与pdf有关的需求,但是搜寻网上的文章,大多都是部分功能的实现,想要获得与自身需求相契合的完整方案并不是一件容易的事情,基于此,我结合自身的相关工作经验,梳理出了一套包含前端pdf生成、前端pdf预览、前端pdf打印的完整技术方案,大家觉得有用的话可以收藏此文以便日后工作中借鉴。本文demo示例代码地址:https://github.com/Alansad/pdfArticlepdf生成一、方案比较生成pdf一般来说有两种方案,第一种在客户端生成,第二原创 2022-03-01 10:22:55 · 1431 阅读 · 1 评论 -
浅析虚拟列表高性能渲染大体量数据原理
在工作中,有时会遇到需要一些不能使用分页方式来加载列表数据的业务情况,对于此,我们称这种列表叫做长列表。比如,在一些外汇交易系统中,前端会实时的展示用户的持仓情况(收益、亏损、手数等),此时对于用户的持仓列表一般是不能分页的。在浅析如何利用时间分片高性能渲染十万级数据一文中,提到了可以使用时间分片的方式来对长列表进行渲染,但这种方式更适用于列表项的DOM结构十分简单的情况。本文会介绍使用虚拟列表的方式,来同时加载大量数据。一、为什么需要使用虚拟列表在实际的工作中,列表项必然不会仅仅只由一个li标签组成转载 2022-03-01 10:11:39 · 297 阅读 · 0 评论 -
object-fit用法详解
object-fit CSS 属性指定可替换元素的内容应该如何适应到其使用的高度和宽度确定的框。您可以通过使用 object-position 属性来切换被替换元素的内容对象在元素框内的对齐方式在这里插入图片描述取值contain被替换的内容将被缩放,以在填充元素的内容框时保持其宽高比。整个对象在填充盒子的同时保留其长宽比,因此如果宽高比与框的宽高比不匹配,该对象将被添加“黑边”。cover被替换的内容在保持其宽高比的同时填充元素的整个内容框。如果对象的宽高比与内容框不相匹配,.原创 2022-02-24 14:39:18 · 677 阅读 · 0 评论 -
介绍一个webAPI:IntersectionObserver
创建观察对象实例const observer = new IntersectionObserver(callback[, options])callback 被观察dom进入可视区离开可视区都会触发两个回调参数 entries , observerentries 被观察的元素信息对象的数组 [{元素信息},{}],信息中isIntersecting判断进入或离开observer 就是观察实例options 配置参数三个配置属性 root rootMargin thresholdroot 基原创 2022-02-24 11:57:36 · 444 阅读 · 0 评论 -
vueuse/core : 组合式API常用复用逻辑的集合
1.组件数据懒加载–到可视区域再发请求(vue3)关键:如何判断组件进入视口—useIntersectionObserver技术方案:我们可以使用 @vueuse/core 中的 useIntersectionObserver 来实现监听组件进入可视区域行为,需要配合vue3.0的组合API的方式才能实现链接:https://vueuse.org/core/useIntersectionObserver/步骤:1. 通过ref获取要监控的元素或组件原创 2022-02-24 08:55:46 · 2292 阅读 · 0 评论 -
前端进阶一步
1.俄罗斯套娃// 包这么多层不累?屎山代码function fn() { if(a){ if(b){ if(c){ // ... 此间还有无数个if }else{} }else{} }else{} // ...code return false;}// 不能这样改一下?function fn(){ if(!a) return false; if(!b) { // ...code } if(!c) { //原创 2022-02-23 09:50:32 · 223 阅读 · 0 评论 -
补充-vue动画
当vue中,显示隐藏,创建移除,一个元素或者一个组件的时候,可以通过transition实现动画。<transition name="fade"> <p v-if="show">100</p></transition>.fade-leave { opacity: 1}.fade-leave-active { transition: all 1s;}.fade-leave-to { opcaity: 0}进入(显原创 2022-02-22 22:00:30 · 61 阅读 · 0 评论 -
calc() 函数用于动态计算长度值。
定义与用法calc() 函数用于动态计算长度值。需要注意的是,运算符前后都需要保留一个空格,例如:width: calc(100% - 10px);任何长度值都可以使用calc()函数进行计算; calc()函数支持 “+”, “-”, “*”, “/” 运算;calc()函数使用标准的数学运算优先级规则;calc(expression)值描述expression 必须一个数学表达式,结果将采用运算后的返回值。...原创 2022-02-22 09:11:37 · 156 阅读 · 0 评论 -
项目性能优化
定义一个常量数据和后台保持一致(约定好9大分类),这样不请求后台就能展示一级分类,不至于白屏。// 顶级分类export const topCategory = [ '居家', '美食', '服饰', '母婴', '个护', '严选', '数码', '运动', '杂货']...原创 2022-02-21 14:21:27 · 129 阅读 · 0 评论 -
vue框架 keepAlive用法
场景 需要缓存处理 且不销毁组件 处于失活状态 component 动态组件意思 可以通过 is属性 来动态切换组件 用到tab选项卡 比例 4个选项 点击显示那个组件 缺点: 在切换那个组件数据丢失 因为不缓存 组件销毁了因此需要keep-alive去缓存页面用法 英文逗号隔开 include表示缓存那些组件 相反 exclude表示不缓存那些组件 也有数组写法 看个人 有2个钩子函数 激活状态 active 当页面第一次进去的时候 会先执行create.原创 2022-02-21 11:07:04 · 463 阅读 · 0 评论 -
scrollIntoView()实现平滑移动锚点效果
从前我们在网页中会需要内容定位,或者返回顶部之类的功能,通常使用锚点来实现,但是页面跳转太过生硬,用户体验不够,于是会通过一大串的js来实现平滑滚动的效果,近两年出现了一些新的属性可以很方便的完成这种交互,很大程度的减小了开发难度。<li class="nav703548"><a style="cursor: pointer;" onclick="javascript:document.getElementById('area_3').scrollIntoView({ behavior:原创 2022-02-10 16:24:00 · 708 阅读 · 0 评论 -
抖音 架构组前端实习生面经 已offer
字节跳动的抖音,当然都是找人内推的,三轮技术面+一轮HR,现在已经收到了前端架构组的 offer。时间:3月17日下午抖音架构组前端实习生 一二三面 + HR 历时约 3.5 小时。这份面经不仅仅列几个题目就完事儿,中间掺杂了一些个人的一些表现以及和面试官的互动,让大家能更完整地感受到整个过程。另外,大厂面试嘛,你懂的,面试官喜欢从一个点切入往深了问,所以在会有非常多嵌套的问题,我觉得这才是真正的面试场景,而不是一条一条堆砌题目,跟做考试试卷一样。抖音一面(45min):自我介绍一下VueR原创 2022-01-12 10:07:16 · 218 阅读 · 0 评论 -
分配除余算法
案例如下:解决办法最优解决: let goods = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'] let person = [{ id: 1, good: [] }, { id: 2, good: [] }, { id: 3, good: [] }] goods.forEach((good, index) =>原创 2021-12-27 18:01:26 · 245 阅读 · 0 评论 -
实现HTML5拖拽
<!DOCTYPE HTML><html><head><style type="text/css">#div1, #div2{float:left; width:198px; height:66px; margin:10px;padding:10px;border:1px solid #aaaaaa;}</style><script type="text/javascript">function allowDrop(ev原创 2021-12-01 16:50:55 · 401 阅读 · 0 评论 -
vue项目刷新当前页面
vue项目刷新当前页面场景:有时候我们在vue项目页面做了一些操作,需要刷新一下页面。解决的办法及遇到的问题:this.$router.go(0)。这种方法虽然代码很少,只有一行,但是体验很差。页面会一瞬间的白屏,体验不是很好用vue-router重新路由到当前页面,页面是不进行刷新的。location.reload()。这种也是一样,画面一闪,体验不是很好推荐解决方法:用provide / inject 组合原理:允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,原创 2021-11-23 16:38:53 · 233 阅读 · 0 评论 -
js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)
本文实例讲述了js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)。分享给大家供大家参考。具体如下用户离开页面前,提示是否离开此页面(包括浏览器按钮事件)<script type="text/javascript">window.onbeforeunload = function(){return "您的文章尚未保存!";}</script>// 不需要提示文字的话<script type="text/javascript"> win原创 2021-11-16 16:08:23 · 3740 阅读 · 0 评论 -
实现无感刷新token我是这样做的
实现无感刷新token我是这样做的当token过期的时候,刷新token,前端需要做到无感刷新token,即刷token时要做到用户无感知,避免频繁登录。实现思路方法一后端返回过期时间,前端判断token过期时间,去调用刷新token接口缺点:需要后端额外提供一个token过期时间的字段;使用了本地时间判断,若本地时间被篡改,特别是本地时间比服务器时间慢时,拦截会失败。方法二写个定时器,定时刷新token接口缺点:浪费资源,消耗性能,不建议采用。方法三在响应拦截器中拦截,判断token 返原创 2021-10-30 09:07:17 · 608 阅读 · 0 评论 -
Vue项目实现文件下载进度条
Vue项目实现文件下载进度条需求场景大文件下载,花费的时间比较长,没有任何提示,用户体验很差。需要优化,提示文件在下载中,并且显示进度百分比。实现步骤1.下载文件的方法,需要拿到当前进度。2.每一次下载进度更新,需要监听变化,并且刷新页面显示的数据。3.封装一个文件下载进度的组件。下面一步步来实现:1.获取文件下载进度axios作为一个易用、简洁且高效的http库,有没有获取下载进度的方法呢?打开axios官网查看一下,文档中有一个对原生进度事件的处理的方法onDow原创 2021-10-30 08:55:05 · 7225 阅读 · 2 评论 -
蚂蚁金服 g6 用法
原创 2021-10-28 11:33:44 · 262 阅读 · 0 评论 -
print-js默认横屏打印
欢迎使用Markdown编辑器print-js官网:https://printjs.crabbly.com/可以打印pdf,image,html,json打印html时用style传值‘@media print{@page {size:landscape}}’默认横版 let styles = `@page{size:landscape ; margin: 20mm;} .footer {display: none;} .bottom {margin-top: 30px;}原创 2021-10-26 16:53:46 · 2530 阅读 · 0 评论 -
new URLSearchParams() 获取地址栏的参数 通过键的方式拿到值
Object.fromEntries()用法Object.fromEntries()方法是Object.entries()的逆操作,用于将一个键值对数组转为对象。Object.fromEntries([ ['foo', 'bar'], ['baz', 42]])// { foo: "bar", baz: 42 }1、可通过 location.search 或 locaton.hash 处理URL来获取到参数组成的字符串。2、然后通过 new URLSearchParams() 方原创 2021-10-08 16:42:17 · 769 阅读 · 0 评论