注意这里用fs的话,只能检测项目部署的那台电脑(即,项目部署到那台电脑,检测那台电脑)
下面介绍了第三个,其他的自行百度,很简单的
- BroadCast Channel
- Service Worker
- LocalStorage + storage
- open + postMessage
请注意,storage事件只会在其他页面(相同域下的不同页面)修改localStorage时触发,如果是在当前页面进行修改,监听函数不会被触发,因为当前页面本身就是修改的一部分。
注意这里一定要是128,不要写0.5,仔细看看下面的公式,就不会相信0.5了, 1*0.5=0.5了,哈哈哈
推荐使用UA去判断
UA(UserAgent)是指HTTP请求头中的一部分,用于标识客户端的一些信息,比如用户的设备类型、浏览器型号等等。因此,我们可以通过判断UA中的关键字来确定页面访问者的设备类型。下面是实现的代码:
获取当前浏览器的屏幕宽度
注意
vue3全局挂载
推荐使用(provide/inject),不推荐使用globalProperties:最新版本的已经弃用了
main.ts中
组件中
vue2全局挂载
main.ts中
页面中 :直接this就好了
官网:vite官网参考
el-form表单中的el-input回车刷新页面,@keyup.enter.native不生效问题解决
表单中只有一个input,键盘回车会刷新页面,@keyup.enter就会失效
解决方案:
1:在表单里加一个不显示的input(不推荐此写法)
2:在el-form上添加@submit.native.prevent(推荐)
如果多维数组转以为数组用 flat() arr.flat()
- ?: 是指可选参数,可以理解为参数自动加上undefined
- ?? ?? 和 || 的意思有点相似,但是又有点区别,??相较||比较严谨, 当值等于0的时候||就把他给排除了,但是?? 不会.
- ?. ?.的意思基本和 && 是一样的
- !. !.的意思是断言,告诉ts你这个对象里一定有某个值
- &&= 如果第一个表达式的值为 true,则执行第二个表达式,并将结果赋值给第一个表达式;如果第一个表达式的值为 false,则不执行第二个表达式,第一个表达式的值不变。
- ||= 如果左侧的操作数(表达式)为真(即非零、非空或非undefined),则返回左侧的操作数(表达式);否则,返回右侧的操作数(表达式)。
- ??= 如果左侧的操作数(表达式)是 null 或 undefined,那么返回右侧的操作数(表达式);否则,将右侧的操作数(表达式)赋值给左侧的操作数(表达式)。
看下面的例子
原理:利用 setAttribute()方法添加value属性,并为其赋值
推荐方法一
方法二:
首相要了解数组的sort方法
如果 age 的值为字符串 (age:“24”),还用上面的方法则会按照ASCII排序(按照字符串排序)
常用语get请求传参,将对象格式转换为?+&的情况
如果需要传值过多,推荐使用下列方法,类似于vue3中的vue-router
在同一个div中话echart是,需要清除画布,重回绘制,否则会重叠,这里我用了删除dom在添加一个div进去
word-break: break-all; 只对英文起作用,以字母作为换行依据。
word-wrap: break-word; 只对英文起作用,以单词作为换行依据。
white-space: pre-wrap; 只对中文起作用,强制换行。
一行显示
多行显示