摘要: 代码记录 阅读全文
posted @ 2024-02-29 14:46 Shapeying 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 最近在一个大屏项目遇到一个需求:用户可以通过一个按钮,触发页面部分模块全屏。通过以下API可以实现: Element.requestFullscreen()方法用于发出异步请求使元素进入全屏模式。 且全屏状态变化会触发以下事件: fullscreenchange 事件会在浏览器进入或退出全屏模式后立 阅读全文
posted @ 2023-11-23 16:58 Shapeying 阅读(170) 评论(0) 推荐(1) 编辑
摘要: 以下是项目中用到的自定义表单的写法,vue2 vue3 各记录一个。 1.x(For vue2) 自定义表单的示例 实现如下图的控件 代码如下: import { Component, Prop, Vue, Watch } from 'vue-property-decorator' import { 阅读全文
posted @ 2023-11-21 11:14 Shapeying 阅读(79) 评论(0) 推荐(0) 编辑
摘要: SubScribe即发布订阅模式,在工作中有着广泛的应用,比如跨组件通信,微前端系统中跨子应用通信等等。 以下是一个简易的实现: 订阅 初始化时可限制类型 发布 限制类型是为了让订阅者和发布者知道预制了哪些类型,避免使用了一些对方不知道的类型。 type Subscriber<T> = (param 阅读全文
posted @ 2023-11-20 11:08 Shapeying 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 升级的方式是使用最新版本的 vue-cli 脚手架,重新创建一个新项目,然后复制 @vue/cli-xxx , vue 相关依赖最新版本到子应用项目 -> 核对babel, eslint相关配置的变化 -> 重新安装依赖,处理出现的相各种异常情况 -> 启动项目检查功能是否正常。 本次升级主要是为了 阅读全文
posted @ 2023-04-26 18:22 Shapeying 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 背景 项目中有一个系统使用的微前端,主站使用是vue2实现的,使用的是vue-router3.x。子应用有使用vue3实现的,使用的为vue-router4.x。 该子应用中的页面A有通过操作按钮触发跳转到其他子应用页面B的需求,此时使用的是vue-router4.x的编程式导航API。 当通过点击 阅读全文
posted @ 2023-04-26 18:14 Shapeying 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 刷类型体操时,问题的记录及收获 Tuple to Object const tuple = ['tesla', 'model 3', 'model X', 'model Y'] as const type result = TupleToObject<typeof tuple> // expecte 阅读全文
posted @ 2023-04-26 15:00 Shapeying 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 一个简单的 vue3 的 websocket hook. 有以下基础功能: 创建链接 失败重连 发送心跳包 import { ref } from "vue"; export interface WS_CONFIG { url: string; // ws链接地址 sendData?: Record 阅读全文
posted @ 2022-06-09 17:33 Shapeying 阅读(609) 评论(0) 推荐(0) 编辑
摘要: 记录在进行单元测试中所遇到的特殊场景,使用的依赖版本为 "jest": "26.6.0"。不断补充,积少成多(但愿吧···) 模拟 DOM 事件 这里以模拟touch事件为例。测试中需要模拟左滑和右滑,需要触发 touchstart 和 touchmove 等事件。 使用 dispatchEvent 阅读全文
posted @ 2022-02-23 15:45 Shapeying 阅读(467) 评论(0) 推荐(1) 编辑
摘要: mongoose与mongodb 首先,要明确mongoose和mongodb是什么? mongodb是一种文档数据库;而mongoose是一种能在node环境中优雅地操作mongodb的对象模型工具库,它提供了类型转换、验证、查询等等各种便捷能力。 其次,要了解mongoose和mongodb的一 阅读全文
posted @ 2021-08-04 21:05 Shapeying 阅读(1135) 评论(0) 推荐(1) 编辑