老师你好。有两个问题,没有想明白。
第一个问题是关于sort()方法的使用。

sort方法,如果参数a>b则返回一个大于0的数,a<b则返回小于0的数。这一点我明白。
但这里为什么写三元表达式我还是没明白。
我建了一个demo,把后面的三元判断删掉,只留下a.name > b.name,结果可以正常排序。

但是我把vue里面的这里删掉。

页面上的按钮就失去作用了。

不知道为什么,跟vue的生命周期有关么…vue不太会。
第二个问题:this.proxy.default
这个问题一直都不太懂…又觉得很基础不好意思问。。但是太困扰了。。
首先我打印了一下new出来的this.proxy


里面是这样的。
这个里面,没有属性名叫asc、desc、default…
按照我一贯的理解。如果用到某个对象的属性。比如说a.name。那么一定是事先定义好的。
就类似于:

所以我很奇怪,当执行
this.userList = this.proxy.default
this.userList应该等于undefined。其它asc,desc也是同理。

这里我也是实在想不明白,key的asc属性是需要手动加上去的吧。但是在下文中的事件里:

这里直接使用this.proxy.asc赋值了。……
所以是因为js是动态语言么……
辛苦老师解答。
前端无门槛学习,从ES6到ES11,一套课程掌握JS最新语法
了解课程