问题现象:
有三个菜单,只是参数不同,但使用的同一个组件页面,配置路由时指向了不同三个路由。但切换菜单时,页面不再刷新。
查了些资料,整理解决方案如下,欢迎纠错补充~
页面不刷新的原因:
响应路由参数的变化
提醒一下,当使用路由参数时,例如从 /user/foo 导航到 /user/bar,原来的组件实例会被复用。因为两个路由都渲染同个组件,比起销毁再创建,复用则显得更加高效。不过,这也意味着组件的生命周期钩子不会再被调用。
复用组件时,想对路由参数的变化作出响应的话,你可以简单地 watch (监测变化) $route 对象。
https://router.vuejs.org/zh/guide/essentials/dynamic-matching.html#%E5%93%8D%E5%BA%94%E8%B7%AF%E7%94%B1%E5%8F%82%E6%95%B0%E7%9A%84%E5%8F%98%E5%8C%96
代码如下:
路由配置:
{
name: 'main',
redirect: 'a1',
path: '/main',
component: Main,