生活中的Design.

生活中的Design.

it's better to burn out than to fade away

使用KeepAlive动态缓存标签页
使用KeepAlive动态缓存标签页很多管理系统都有已打开的标签功能,类似于现在浏览器的顶部标签栏,打开过的页面一般会缓存一段时间,在这段时间内打开,页面不会重新加载.基于vue 2.x版本的keep-alive标签可以实现缓存页面的需求,但是如何去除缓存呢? 假设这样一个场景,用户打开了标签页-A和标签页-B,停留在标签-A,用户希望重新加载下标签页-B,这个时候keep-alive已经缓存了两个页面,如何单独去掉B页的缓存,使得B页面可以重新进入? keep-alive的基本功能可以传入的三个props: include 字符串或正则表达式。只有名称匹配的组件会被缓存 exclud...
SheetJS -- 前端(浏览器)导出Excel文件
SheetJS – 前端(浏览器)导出Excel文件项目中有需求导出业务报表为Excel文件,并且需要有一定的样式和格式要求,后端导出的Excel样式设置比较困难于是只好让前端整了┓( ´∀` )┏ 需求调研前端导出Excel的库基本上大家用的都是SheetJS,我也不找其他了,直接整个SheetJS社区版开干了(SheetJS CE) SheetJS的功能SheetJS可以实现数据导入/导出/处理,文档上有一些实际的示例,比如将文档流中的table标签导出为Excel文件, 读取Excel文件生成table标签,将CSV文件转换为HTML表格或者Excel文件. 社区版(CE)的功能相...
钉钉H5应用踩坑(1)
钉钉H5应用踩坑(1)钉钉H5微应用开发踩坑,钉钉的Webview内核据说是UC浏览器内核,许多CSS/JS的兼容性问题,例如thead/tr不能使用position:sticky, 还有table标签的滚动行为两个端(iOS/Android)不一致,和table的宽度设置相关.在Android端一个overflow-y:auto的容器中,直接放个table(宽度比父容器大),是无法滚动的,而iOS端可以. 兼容全面屏iOS底部动作条 为Html设置meta,主要是设置viewport-fit Auto:默认值。这个值不影响初始布局视窗,整个 Web 页面是可视的,与Contain表...
使用@vue/composition-api
使用@vue/composition-api1.安装与引入 安装 1npm i @vue/composition-api 引入 123import Vue from "vue";import VueCompositionAPI from "@vue/composition-api";Vue.use(VueCompositionAPI); 配置setup标签支持,$ref等语法的支持 vue.config.js 1234567891011121314const ScriptSetup = require("unplugin-...
Python清除NodeModules文件夹脚本
Python清除NodeModules文件夹脚本用于清除node_modules文件夹的脚本。copy的 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051import osimport timeimport shutil# 脚本名称:autoDelete.py# 脚本目的:自动删除指定文件夹下的相关文件夹 如批量删除node_modules依赖def get_dirsize(dirPath): size = 0 for root, dirs...
对最近写的Android应用的总结(1)
对最近写的Android应用的总结(1)去年公司的Android应用,主要语言是Kotlin,基本架构如下(取自项目README.md): ViewModel 负责从 UI 层接受事件,然后向 repository 请求更新的数据。它使用 LiveData 来存储当前排序的列表数据,以供 UI 进行展示 ViewModel 负责启动协程,并保证用户离开了相应界面时它们就会被取消。它本身并不会做一些耗时的操作,而是依赖别的层级来做。一旦有了结果,就使用 LiveData 将数据发送到 UI 层。因为 ViewModel 并不做一些耗时操作,所以它是在主线程启动协程的,以便能够更快地响...
Vite-Plugin-Pages与Keep-Alive
Vite-Plugin-Pages与Keep-Alivevite-plugin-pages是一个Vite插件,用于在Vite中使用基于文件的路由。(Vue3+ Vite项目) 安装1npm install -D vite-plugin-pages 配置123456789//vite.config.jsimport Pages from 'vite-plugin-pages'export default { plugins: [ // ... Pages(), ],} 使用默认在src/pages文件夹下的vue/js文件夹下的文件...
VSCode配置与插件(Vue开发)
VSCode配置与插件(Vue开发)插件列表123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263code --install-extension adpyke.codesnapcode --install-extension afzalsayed96.iconescode --install-extension Anan.jetbrains-darcula-themecode --install-extens...
静态网站生成器 Gatsby 学习
1.环境设置GIT略 Node.js略 Gatsby CLI 安装npm安装 npm i -g gatsby-cli查看版本 gatsby --version 2.部署首个静态站示意图 新建Gatsby站点gatsby new,按要求输入站点信息,输入站点名称和文件夹路径后,其他选项先选No(或者稍后添加),完成之后,gatsby会生成必要的文件 本地运行进入创建的文件夹下,运行命令gatsby develop,(也可以使用npm等:npm run develop) 如果一切正常的话,本地服务将会成功运行在8000端口 1234567You can now view my-first-g...
Kotlin协程相关
基础概念关于kotlin中的协程,kotlin的标准库里只包含了协程的抽象,放在kotlin.coroutines包下比如: Continuation CoroutineContext 具体的实现则需要另外引入依赖kotlinx.coroutines,里面会有关于协程的高级原语(High-level Primitives): launch:启动一个协程,他将会与其他剩余代码同时(concurrently)执行,返回一个Job async:类似launch,不过返回一个Defer 结构化并发Structured concurrency协程遵循结构化并发的原则,所有的协程必须在限...
avatar
Apm29
It's better to burn out than to fade away
FRIENDS
juejin