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

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容