1、多个异步需要顺序处理 promise的用法
getData() {
return new Promise((resolve, rej) => {
resolve(this.classOne());
})
.then(result => {
return new Promise((resolve, reject) => {
resolve(this.classTwo());
});
})
.then(result => {
return new Promise((res, rej) => {
res(this.goodsList());
});
});
}
2、一块区域设置几行文本 超出'''显示
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
3、头像修改 (用form表单上传)
var BASE_URL = 'https://zm.h9e.net/api/';
export function FILE(url, params) {
return $http.post(url, params, {
headers: {
'Content-Type': 'multipart/form-data'
}
})
}
// 头像修改
myTouxiang:(params)=>{
return FILE('my/touxiang',params)
},
//头像修改接口
async myImg(file) {
let params = new FormData();
params.append("file", file);
params.append("user_id", localStorage.getItem("user_id"));
params.append("token", localStorage.getItem("token"));
let myImg = await this.service.my.myTouxiang(params);
console.log(myImg);
},
4、 验证
### 手机号码验证
if (!/^[1][3456789]\d{9}$/.test(this.phone)) {
toast({
text: "请输入正确的手机号",
time: 1000
});
return false;
}
### 6位数密码验证
if (!/^\d{6}$/.test(this.password)) {
toast({
text: "支付密码必须设置6位数的数字",
time: 1000
});
}
5、获取价格
//获取价格
getPrice() {
this.Totalprice = 0;
this.shopList.map(i => {
if (i.ischecked == true) {
this.Totalprice = this.Totalprice + i.price * i.number;
}
});
return this.Totalprice;
},
6、时间戳 格化式
1 格化式 日期 为 xx-xx-xx
getTime(date) {
let year = date.getFullYear();
let month = ("00" + (date.getMonth() + 1)).slice(-2);
let day = ("00" + date.getDate()).slice(-2);
return year + "-" + month + "-" + day;
},
点击禁用
pointer-events: none;
7、递归遍历
function reFUN(params) {
let res = []
params.forEach((val) => {
if (val.children) {
res.push(...reFUN(val.children))
}
else {
res.push(val)
}
})
return res
}
console.log(reFUN(datax))
8、无用的数据分页
let newData = []
function transData(page) {
mockData.forEach((val, index) => {
if (index % 5 == 0 && index != 0) {
let params = {}
if (page) {
params.page = page
}
else {
params.page = 1
}
params.children = mockData.splice(index - 5, 5)
newData.push(params)
return transData(params.page + 1)
}
else if (index == mockData.length - 1) {
let params = {}
if (page) {
params.page = page
}
else {
params.page = 1
}
params.children = mockData
newData.push(params)
}
})
}
transData()
console.log(newData)