知识技术点[不定时更新]
程序员文章站
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;
上一篇: 你真的的懂JDBC?
下一篇: MyBatis项目相关配置(IDEA)