我有一个Vue组件,用户可以在其中编辑或删除项。如果项目计数变为零,则执行this.$router.replace("routeName")
以显示下一个视图。我遇到的问题是,点击我们内置的返回按钮(调用this.$router.go(-1)
)或浏览器返回按钮(Firefox/Chrome)会改变浏览器地址输入中的路由,但不会在路由器视图中显示预期的组件。
它的行为有点不一致。没有javascript错误显示在浏览器开发工具控制台。是否有任何已知的问题或想法导致这种情况?我们正在应用程序的其他地方使用这个。$router.replace("routeName"),没有问题。
编辑:这可能是一个问题与浏览器和缓存?在Chrome中进行硬刷新(并删除缓存),并在Firefox中删除所有缓存对象似乎可以解决此问题。您可能希望使用$router.push()
,因为replace()
不会向历史记录添加条目。因此,之前的路由可能与预期的不同,从而导致错误行为。