作为开发者,我们通常希望组件能够高度重用。这就是为什么当 Vue 组件在两个不同的路径中使用时,并不会重新渲染父组件,尽管组件是相同的但是展示的视图不同。这是 Vue 为了优化应用程序的一种策略。
要解决这个问题,你只需要在 router-view 中添加一个 key 属性,可以使用路由的名称或者路径作为 key。
demo:
<div>
<!-- 可以使用 $route.name 或者 $route.path -->
<router-view :key="$route.name" />
</div>
</template>