使用路由参数时组件复用的问题

路由参数变了,页面内容没变

问题背景

vue项目使用多页签模式,会员列表中点击A会员的名字,打开新页签,查看A会员的详细信息,切换回会员列表标签,点击B会员的名字,打开一个新页签,展示的仍然是A会员的详细信息。我希望点击不同的会员名字,打开不同的页签,显示对应会员名字的详细信息。但页面只有路由参数的变化,页面内容没有改变。

问题原因

通过查找官网发现,在使用路由参数时,组件实例会被复用。

解决方法

1、用watch监测$route的变化

2、用路由守卫

3、给加key属性

1
<router-view :key="fullPath" />

key的值设置为路由的完整路径,这样就能做到不复用。我现在用的就是第三种。

突然意识到,原来key还能这样用!!!长知识了…