![707004b41c5c59bc5dd46fb702eba6ab.png](https://img-blog.csdnimg.cn/img_convert/707004b41c5c59bc5dd46fb702eba6ab.png)
今天遇到了一个需求,就是面包屑的制作。之前由于没有做过的原因,今天也是想了挺久的才想出怎么处理。
首先这个页面是像我们的电脑一样,可以创建文件或者是文件夹的,前端通过判断是文件或者是文件夹来跳转不同页面,如果是文件夹的话点击可以进入查看点击的文件夹的目录。
后端给的接口是前端传一个文件夹的id,然后返回该id下的所有文件或文件夹。
以上是大概情况,所以如果我们要做路由的话,需要把每次点击的文件夹id存在一个数组之中。
用户的操作可能是:
- 点击一个文件夹;
- 点击面包屑上的某一级;
- F5刷新这个页面;
- 用户可能使用浏览器的前进后退
解决的办法:
- 当用户点击一个文件夹就将这个文件夹的id和name值push到数组中,并且发送请求,更新数据;
- 获取用户点击的这个面包屑的id,在我们存储的数组中找到这个id,然后将我们的数组长度变成这个id的index值+1;
- 刷新页面后,我们的数组就变为空了,但是这时的路由id还在,所以需要用this.$router.push('/Page')重新变为页面初始的状态;
- 需要