通用代码段
1. 置剪切板
1 | // 置剪切板 |
1 | // 置剪切板 |
2. 文本超出使用省略号
1 | //一行 |
3. 隐藏滚动条
1 | &::-webkit-scrollbar { |
4. H5 调起拨号盘
1 | call (phone) { |
5. dayjs
1 | import dayjs from 'dayjs' |
6. vant 函数形式组件样式导入
1 | /** |
7. axios 网络请求封装+pinia
1 | import axios from 'axios' |
pinia中:
1 | const TokenKey: string = import.meta.env.VITE_TOKEN_KEY |
8. 数字千分位逗号分隔
1 | // 数字千分位逗号分隔 |
9. window.open()
9.1. 常用参数值
| 参数值 | 作用 |
|---|---|
_blank |
新窗口打开(默认) |
_self |
当前窗口打开 |
_parent |
在父框架中打开 |
_top |
在顶层窗口打开 |
自定义名称 |
在指定名称的窗口中打开 |
9.2. 参数使用示例
9.2.1. _parent 和 _top 示例
javascript
1 | // 在父框架中打开链接(适用于iframe嵌套场景) |
9.2.2. _blank 示例
javascript
1 | // 在新窗口打开(默认行为) |
9.2.3. _self 示例
javascript
1 | // 在当前窗口打开(替换当前页面) |
9.2.4. 自定义窗口名称示例
javascript
1 | // 在名为"myWindow"的窗口中打开链接 |
9.3. 实际应用场景
javascript
1 | // 聊天客服窗口 - 确保只打开一个客服窗口 |
9.4. 运行效果
_blank:创建新窗口_self:替换当前页面_parent:在直接父框架中打开(适用于iframe嵌套)_top:在顶层窗口打开(跳出所有框架)- 自定义名称:
- 首次调用:创建新窗口并使用指定名称
- 再次调用同名窗口:在原窗口中加载新URL,不会创建新窗口
- 适用于需要复用同一窗口的场景
9.5. 注意事项
- 名称应使用字母数字,避免特殊字符(如连字符)
- 现代浏览器可能会忽略部分窗口特性参数
- 非用户触发的弹窗可能被浏览器拦截
- **
_parent和_top**主要用于处理框架嵌套场景
这种命名窗口的方式适合需要控制窗口复用的场景,如客服聊天、商品比较、嵌入式应用导航等功能。
10. 封装一个准确判断数据类型的函数
1 | // 封装一个准确判断数据类型的函数 |
11. 手机号前端脱敏
1 | // 手机号前端格式化为188****8888 |
12. vant 分页上拉加载更多
1 | <script setup lang="ts"> |
带有切换:
1 | <script setup lang="ts"> |
13. Element-plus视频/图片上传
1 | <script setup> |
14. webview app 手机状态栏适配
https://uniapp.dcloud.net.cn/component/web-view.html#web-view
1 |
|
1 | { |
1 | <template> |
15. H5打包app的手机物理返回键问题
vue2:在 main.js 中引入:
1 | const { Toast } = require("vant"); |
vue3:在 main.ts 中引入:
1 | import { showToast } from "vant"; |
16. echart在vue3中的一个bug
加上markRaw即可
1 | import { markRaw } from 'vue'; |
17. 视频video标签
1 | <video |
18. 禁用鼠标右键
1 | document.addEventListener('contextmenu', function(e) { |
19. 滚动条持续保持在最顶部,点击到顶部或底部
1:在滚动条所属 div 上加上 ref=“mianscroll” (mianscroll名称随意起)
1 | <div ref="mianscroll"> |
2:点击事件到顶部
1 | topScrollClick() { |
3:点击事件到底部
1 | bottomScrollClick() { |
注意点:一定要是给滚动条所属 div 添加如上方法,不然无法生效,滚动的 div 的样式是 overflow:auto
20. 移动端打开调试控制台
在index.html中加上:
1 | <script src="https://cdn.bootcss.com/vConsole/3.3.4/vconsole.min.js"></script> |
21. 消除 input 原生样式
1 | input { |
22. 全屏
1 | fullScreen () { |
23. 多选全选
computed 计算属性内:
1 | checkAll: { |
24. validator 校验
1 | data () { |
25. 解决 js 数据精度的问题
1 | npm install --save big.js |
1 | import Big from 'big.js' |
1 | const number1 = new Big(.3) |
26. github 拉取代码需要代理,避免频繁设置和清除代理,需要系统代理
在 系统用户(例如 zs) 目录下新建 bin/g.cmd,写入以下代码:
添加用户级环境变量即可:C:\Users\zs\bin
拉取命令:g clone https://github.com/xxxxxx.git
需要系统开启系统代理(科学上 使系统能访问 github),端口 7897
1 | @echo off |
27. 旋转图片
1 | /** |
28. base64
1 | /** |