欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

知识技术点[不定时更新]

程序员文章站 2022-06-17 18:53:18
...
JS: 
1. JS:遍历对象,删除空对象 
 for (const key in this.obj) { 
    if (this.obj[key] === "") { 
      delete this.obj[key]; 
    } 
  } 

2. JS:获取指定日期的前一天 
原生JS: 
方法① 
date 代表指定的日期,格式:2018-09-27 
d 传-1表始前一天,传1表始后一天 
getNextDate(date,day); 
function getNextDate(date,day) {   
  var dd = new Date(date); 
  dd.setDate(dd.getDate() + day); 
  var y = dd.getFullYear(); 
  var m = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1; 
  var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate(); 
  return y + "-" + m + "-" + d; 
}; 
方法 ② 
getLastDayFun(date) { 
  date = new Date(date); 
  date = +d - 1000 * 60 * 60 * 24; 
  date = new Date(date);// 格式化 
  let m = date.getMonth() + 1; 
  m = m < 10 ? ("0" + m) : m; 
  let day = date.getDate(); 
  day = day < 10 ? ("0" + day) : day; 
} 
方法③ 
简化版:new Date(new Date().getTime() - 86400000) 

3. JS:将多条数据,根据同类型进行分组 
data: 
    oldArr: [], 
    newArr: [] 
JS: 
   this.newArr= []; 
   const rotationObj = this.oldArr.item.reduce((prev, current) => { 
      if (typeof prev[current.rotation] === "undefined") { 
         prev[current.rotation] = [current]; 
      } else { 
         prev[current.rotation].push(current); 
      } 
      return prev; 
      }, {}); 
   Object.keys(rotationObj).forEach((k) => { 
      this.newArr.push(rotationObj[k]); 
   }); 

4. JS:new Set()方法去重 
  arr = [ ...new Set(arr) ]; 

5. JS:格式化时间格式 
   // 对小于 10 的数字,前面补 0 
    pad(str) { 
      return str < 10 ? `0${str}` : str; 
    }, 
    // 传入年、月、日 
    stringify(year, month, date) { 
      let str = [year, this.pad(month + 1), this.pad(date)].join("-"); 
      return str; 
    } 

6. JS:算法简写 
  所有算法都可以简写,如  (x = x / y  =>  x /= y),(x = x % y  =>  x % = y)。 
  注意:**= 运算符属于 ECMAScript 2016 proposal (ES7) 的实验部分。它的跨浏览器表现并不稳定。请勿使用。 

7.JS:用代码模拟手动操作 
  this.$nextTick(() => { 
    // 要模拟的操作 
  }); 

8.JS:遍历键名为id、name值之类的对象 取值的方法 
  (1)先获取对象里的所有key 
  let objArr = Object.keys(res.data); 
  (2)然后循环objArr,进行赋值 
  let newArr = []; 
  objArr.forEach(item => { 
    newArr.push(res.data[item]); 
  }) 

9.JS:数组排序
   function sortnumber(a,b){
        // return a-b;     //默认升序
        return b-a;     //默认降序
    }
    var arr = [12,345,45,23,11,445];
    var arrnew = arr.sort(sortnumber);

10.H5同一窗口打开网址
  window.location.href = url;
VUE: 
1. VUE:给对象添加或者修改字段的值,并让页面也跟着局部变化 
  this.$set(item, "active", true); 

2. VUE:v-model的几种修饰符.lazy,.number和.trim的介绍 
  (1).lazy并不是实时改变,而是在失去焦点或者按回车时才会更新 
  (2).number将输入转换成Number类型 
  (3).trim可以自动过滤输入首尾的空格 

3. VUE:v-if 多个值满足一个即成立 
  <div v-if="[10,11,20].includes(row.id)"></div> 

4. VUE:动态绑定class 
  <div :class="[isActive ? 'mySelected' : '']"></div> 

5.VUE:设置滚动到盒子底部 
  <el-main id="main" ref="mainRef"></el-main> 
  this.$refs.mainRef.$el.scrollTop = this.$refs.mainRef.$el.scrollHeight; 

6.自定义返回按钮事件
watch:{
  $route(now,old){  //监控路由变换,控制返回按钮的显示
     if(now.path=="/home/home"){
            this.isShow=false;
     } else{
         this.isShow=true;
     }
    }
}

7.父子组件双向绑定传值
子组件:
  props: {
    isShow: {
      type: Boolean,
      default: false
    }
  }
  this.$emit("update:isShow", false);

父组件:
  <div :isShow.sync="explain"></div>
CSS: 
1. CSS计算属性 
  calc(50% - 154px); 

2.文本(包括单词)强制换行 
  word-break: break-all; 
  word-wrap: break-word;
相关标签: 通用功能