需求:列表跳详情后,返回列表页,所有点击过的列表项变色;
实现:一、将跳转的列表信息存储在sessionStorage里
二、返回列表的时候,取出sessionStorage信息,给table附样式
代码:
在详情页获取传递过来的行id,并存储在sessionStorage里,写在vue 的mounted里,注释已经很全了
mounted(){
var idArray=[];
var id = this.$route.query.id;
var arr={id:id};
//已经访问过的id不再存储
if(sessionStorage.getItem('arr')){ //判断从sessionStorage获得的arr是否为空
var arrget = sessionStorage.getItem('arr'); //获得已经存储的数据
var arrayget = JSON.parse(arrget); //转成JSON对象
for(var i=0;i<arrayget.length;i++){
if(arr.id ==arrayget[i].id){ //判断新传来的id是否已在session内存储
arrayget.splice(i,1); //删除下标为i的重复元素
}
}
arrayget.push(arr); //继续赋值
idArray = arrayget;
}else{