我有一个activeTab从 URL 路径继承路由参数的页面。所以在我的页面上,我可以导航到/home/主页选项卡并在其中加载,或者在/somethingElse我的页面模板的选项卡视口中加载不同的选项卡。
要更新选项卡,我正在使用:
updateTab(tab) {
this.activeTab = tab
this.$router.push(tab)
}
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我在屏幕上闪烁,我的 mounted()函数会在每个组件中重新执行,从而触发应仅在应用程序的第一个入口点上触发的动画。
这更接近于所需的行为,其中选项卡发生了变化,并且我没有看到闪烁或重新安装组件:
updateTab(tab) {
this.activeTab = tab
history.pushState({}, '', tab)
}
Run Code Online (Sandbox Code Playgroud)
但是,将 activeTab 直接推入历史记录似乎会阻止后退按钮正确恢复以前的状态。
如何在不重新安装所有组件的情况下更新 Vue Router 的路径?
| 归档时间: |
|
| 查看次数: |
2570 次 |
| 最近记录: |