常见问题

215 阅读1分钟

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)
}