掘友等级
获得徽章 0
#每天一个知识点# jym,项目里面升级 vue 和 vue-template-compiler,两者的版本需要同步升级的,不然就会出现如下报错了,我因为想在template里面使用可选链运算符,升级了vue,就一直报错
(升级之后最好吧node_module删了重装,血泪)
#每天一个知识点# elementUI的时间选择器怎么改成这样,标题在选择框内?
#每天一个知识点# 怎么解决前端发版后页面缓存问题?目前用了打包文件名加随机码也是时灵时不灵的,还有什么其他的配置吗?
#每天一个知识点# git stash暂存本地内容的话,如果在pop之前又执行了一次stash命令,是不是会给覆盖,上次缓存的内容还能找回来吗
#每天一个知识点# 这个是我sass版本不行吗?现在用的sass1.52.3的版本,sass-loader7.1.0版本,那我用啥版本合适呀
#每天一个知识点# vue项目使用WebSocket协议,总是连接一分钟左右就连接关闭了,加了心跳之后,一发消息就断掉,啥情况啊
#每天一个知识点# 快速判断浏览器
//判断 IE 浏览器版本
<!--[if IE 8]> ie8 <![endif]-->
<!--[if IE 9]> 骚气的 ie9 浏览器 <![endif]-->
//判断是否是 Safari 浏览器
var isSafari = /a/.__proto__=='//';
//判断是否是 Chrome 浏览器
var isChrome = Boolean(window.chrome);
#每天一个知识点# iconfont彩色图标库用class引入不生效,是不是只能用symbol方式引入啊
#每天一个知识点# echarts能不能还原这种图表?
#每天一个知识点# 推荐一个chrome调试工具
可以编辑页面上的任何文本,在控制台输入如下任一后回车
document.body.contentEditable="true";
document.designMode = 'on';
#每天一个知识点# elementUI的时间选择器,需要禁用后端返回的一个时间段,直接在data中定义disabledDate,取值接口的数据是不生效的,可以先定义一个字段,然后在methods中定义一个方法,return根据后端数据算出的禁用时间就可以使用了
eg:
data(){
deadlineDate: ""
pickerOptionsS: {
disabledDate: this.disabledDate
},
},
methods:{
disabledDate (time) {
const endDate = new Date(this.deadlineDate);
return time.getTime() < Date.now() || time.getTime() > endDate;
}
}
deadlineDate就可以在接口中获取数据
#每天一个知识点# 常用的正则校验
二代身份证校验正则
/^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/
二代身份证脱敏正则
String.replace(/^(.{2})(?:\d+)(.{2})$/,"$1************$2")
车牌号正则
/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/
#每天一个知识点# elementUI使用message提示,重复触发会堆叠显示,如果需要一次只显示一条,可以再下次触发时,先使用close()方法关闭message,但是直接使用可能会因为实例指向问题不生效,可用如下方法处理:
if (this.m) {this.m.close()}
this.m = this.$message.error('关闭message!')
#每天一个知识点# 正则表达式包含零宽断言的话 , 在ios safairi会报错,尽量避免使用
常用零宽断言:(?!)(?<=)(?=)(? < !)
示例:
let reg = /ab?<=cd/
可改写成
let reg = new RegExp('ab(?<=cd)')
#每天一个知识点# 苹果浏览器中,低版本safari版本newDate()不支持以‘-’分割的日期(应该是safari15以上的版本无此问题),会返回invalid Date无法识别和转换,可以使用replace替换,直接将 - 替换为 /:new Date("yyyy-MM-dd HH:mm:ss").replace(/-/g, "/")即可
#每天一个知识点# element的tooltip和button一起用,button的disable属性也会tooltip的显示,如需同时使用,需要在tooltip和button之前加一层div即可
#每天一个知识点# vue使用echarts,需要在tooltip加点击事件的话,事件需要挂在window下,如果还需要使用当前vue实例,可以在mounted中把this存起来后,再写方法,如下
mounted () {
const _this = this
window.chartDetail = function (val) {
_this.$emit("refresh", val)
}
}
调用方法传值也需要需要用引号包起来 也就是onclick="chartDetail ('${params}')",否则会报错
#每天一个知识点# vue使用echats,在mounted调用后端数据后,接口返回后为什么还需要使用nextTick,才能成功更新数据,否则报错,mounted里面dom不是渲染完成了吗
下一页