sundanyu
sundanyu
> 强烈关注此问题,研究了好久 研究了两天,终于解决了这个问题
关于在点击列表进入到详情页,因为不关闭而重复点击打开多个详情页,且传递ID不同,出现只显示最后一个ID的数据,这个bug研究了两天。终于解决,代码如下: 1.传值,我用了这个方法 `this.$router.push({ name: 'enterpriseInfo', query: { id:index } })` 2.接收时,用vue的两个钩子处理,这样在点击每个详情标签时,因为传递ID值变了会触发beforeUpdate钩子,只要在这两个钩子中发请求拿数据即可正常渲染页面。 `created () { console.log(this.$route.query.id) }, beforeUpdate () { console.log(this.$route.query.id) console.log(this.msg) }` 3.还没完,需要解决bug,因为标签能关闭,而且你不能要求用户关闭的是哪个详情页,经尝试,如果关闭的是一大堆详情页中的某一个,另外的详情页数据还是会出现bug(正常应该显示当前标签页ID的数据),这里需要处理tags-nav.vue页中的代码。具体如下:改造close函数成如下: `close (route) { let currentIndex = this.getArrIndex(this.list,route)...
在3中,还有个小问题,少加了个判断。。。请将其中一段替换成这个 `if(res.length < 2){ }else if(res.length == currentIndex){ } else{ console.log(33); if (res[currentIndex].query.id) { this.handleClick(res[currentIndex]) } }`