一、问题产生:
使用router-view时,如果在相同路由之间跳转,默认在跳转路由时会采用缓存策略,并不会刷新当前路由组件。即mounted,beforeDestory等钩子函数并不会触发。如果想强制刷新,可以在根路由上为其分配一个唯一key。采用$route.fullpath作为其唯一key。这样vue就回认为内部路由每个都是不同的路由,在跳转时便会强制刷新组件
二、问题解决:
<div id="app">
<router-view :key="$route.fullPath"/>
</div>
三、结语
其实还有很多种方式,例如通过v-if,在$nexttick前后进行路由的销毁等等。但是个人感觉上述方式最优雅。
————————————————
版权声明:本文为CSDN博主「追逐、」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_29722281/article/details/89134250