node版本过高 set NODE_OPTIONS=--openssl-legacy-provider &&
端口号占用 netstat -ano | findstr (80端口号) taskkill /f -pid (1233进程号)
数组去重 Array.from(new Set([ ...arr]))
深拷贝
function deepCopy(newObj, oldObj) {
for (let k in oldObj) {
let res = oldObj[k];
if (res instanceof Array) {
newObj[k] = [];
deepCopy(newObj[k], res);
} else if (res instanceof Object) {
newObj[k] = {};
deepCopy(newObj[k], res);
} else {
newObj[k] = res;
}
}}
vue3 子传父
子组件
const emit = defineEmits(["ClearCompleted"])
<button class="clear-completed" @click="emit('ClearCompleted')">清除已完成</button>
父组件
<sonCom @ClearCompleted="ClearCompleted">
const ClearCompleted = () => {};
vue2子传父
子组件
this.$emit('update:targetKeys', targetKeys);
父组件
<sonCom :targetKeys.sync="targetKeys">
// var base64Str = btoa('https://www.baidu.com/link?url=mb0FEIzJw5D5S2f5GP112ZFKc8dTht6X6KeARU0GrYo_tE9F_f9B6qtthQAuLwShPmHwp_3WS3AtNeRJKsHqBrKpsKLd6MPFCnyDV--s7p8okRcC4KvNpKIbWTTwuQpiJeD4iA1E13exhkpii3Iaan6obueVAFWSFlKHV9c3E2d3_xXiE-J18NlGbYTSsYdt6QdS7Uc0CK8o-7ifHOf-w37sEfG-dO3009jhUs4cEJNG3zUZRdZZTEH83eIH2Ce67lgZCQZrgXzi4o8gpOKrvjpRcpVchOQXPtYY1qP_TPwhJRs34R9q5MSnrbE5ORBKOy2sbPZGog4d8U1t-nZwz7GDfmUjWWdiSA4quiAJ-g7vHhogA_UcqqC7QialcxYIxq3YqUh3VPmzhy9FAtiOCqfLpelXCbXkIeaDXVxD_uqs2D9xnVOT5cKzymVmnG9Ch4ArKXjDY46mkvXAwsjfKKNAtp3oWk19XkSOEM7GusG-5WKeb6Qys-BJg5utglmgcY_3YL3Zztp2788iHGTzLo_rvey1I1-Qv-gq53dOhBPHxMMQpJ2I2Cd9E8XgGrx3gPgx3AFQ6RFo6L1mRBKAK0sFP0lFOUcvQff1_YbTruYNN9XP903BmvvsXK0NG9KSh4baHn_b4I8NBkvxVAibdzL8efii_PZiI3wbcvMZsjeD7EOWQR_IBZRjNJBjC8bXr2RN14ktJX321dAt06P6EriqPxGl6iRw2cde263iYBq&wd=&eqid=eef2a5a4001c608200000002656da387');
// const blob = new Blob([atob(base64Str)], { type: 'image/jpeg' });
const url = URL.createObjectURL('');
let a = document.createElement('a');
a.style = 'display: none'; // 创建一个隐藏的a标签
a.download = name;
a.href = url;
document.body.appendChild(a);
a.click(); // 触发a标签的click事件
document.body.removeChild(a);
css单行溢出显示省略号, 多行溢出
.itemRight-title {
font-size: 16px;
-webkit-line-clamp: 2;
display: -webkit-box;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
.itemRight-time {
text-align: left;
font-size: 13px;
color: #999;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
正则替换
function replaceFn(str, before, after) {
let reg = new RegExp(before, 'gi')
return str.replace(reg, after)
}