Vue多个路由共享同一组件不会重新渲染问题

这个问题我遇到过,产品经理要求左侧导航栏中某两个tab点击后加载同一个页面,由于elementUI的el-menu不允许两个el-menu-item的path一模一样,所以我把他们分了2个路由(A和B),他们的component指向同一个组件。结果发现A页面做了一些操作后点击导航栏B,页面不会更新。因为他们是渲染的同一个组件,vue认为没有变化。

我那个时候作法是监听$route.path当是这两个页面在进行切换时,手动调用window.reload()

实际上有个更简单的解决办法是在router-view上加上唯一的key

你可能感兴趣的:(Vue多个路由共享同一组件不会重新渲染问题)