在网站上查看新闻文章的实时计数器。Laravel Jetstream。
.leaving(user => {
this.participants.splice( this.participants.indexOf(user, 1));
})
.joining(user => {
this.participants.push(user);
this.count++;
})
然而,我注意到,如果页面上有两个用户,它会不断删除ID值最小的用户。成功地测试了该理论。
因此,如果乔登录用户ID 100,然后吉米登录ID 200。在列表中显示两个用户。
吉米的屏幕:
- 乔
- 吉米
如果Joe刷新页面,它会将Jimmy从活动用户中删除,并将其重新设置为活动用户,刷新后在屏幕上显示两次。无论谁刷新(进入或离开(,Joe的项目都保持正确。
吉米的屏幕:
- 乔
- 乔
这就像索引不正确,因此没有正确拼接——只删除列表上的最后一项,然后用ID较低的用户重新填充。
然而,我注意到,如果页面上有两个用户,它会保留移除具有最小ID值的一个。
这很有意义,因为您可能已经对数组进行了排序,indexOf返回找到的第一个ocurrence。
indexOf((方法返回给定元素所在的第一个索引可以在数组中找到,如果不存在,则为-1。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf
所以,在进行拼接之前,你可能必须进行不同的过滤。。。