在复制的html中引入vue的script写法

1
2
3
4
5
6
7
<script type="module">
import {api} from "../../src/boot/axios";

api.get('https://sdadgz.cn/springboot/8000/blog/sdadgz/blogs?currentPage=2&pageSize=6').then(res=>{
console.log(res.data.data.total);
})
</script>

动态设置对象名

简写

1
2
3
4
5
let name = "111";
let obj1 = {
[name]:"222"
}
console.log(obj1) //{111: "222"}

全拼+多个去重

1
2
3
4
5
6
let a = 'abc';
let b = {
[`${a}-1`]: true,
[`${a}-2`]: true
}
console.log(b) // {abc-1: true, abc-2: true}

这个asnyc没玩明白

1
2
3
4
5
6
7
8
9
10
11
12
13
14
await api.get("/blog/" + username1 + "/blogs", {
params: {
currentPage: currentPage.value,
pageSize: pageSize.value
}
}).then(res => {
if (res.code === "200") {
data = res.data.lists;
if (data.length < 1) {
disable.value = true;
}
}
})
await setBlogs(data); // 别把asnyc函数放then里面

如何优雅的便利对象所有属性值

1
2
3
for (let [key, value] of Object.entries(todayIpList.value)) {
console.log(key);
}

他妈的数组的fill函数

不能仍对象进去,会指向同一个对象

js的问题,并不是我的问题的问题

class方法丢失 * is not a function

js的class就离谱,反正和java不一样,特殊情况下方法调用会出现方法不存在,就是编译器ctrl+左键 能找到那个函数但是实际那个函数js找不到

原因

我不知道,我知道了,因为this关键字

少用class,能不用就不用吧

解决方法一

最简单的方法咯,直接class外面放个函数

解决方法二

去掉方法里的this,自己想怎么去

解决方法三

1
2
3
constructor() {
this.[一个函数] = this.[一个函数].bind(this);
}

离谱的解决方法

1
2
3
4
// 对象多了,浪费内存
fun = () => {
[代码]
}