【发布时间】:2019-07-18 16:25:15
【问题描述】:
我在这里看到了几个与我的问题相关的关于 SO 的问题,但它们都不相同,它们的解决方案对我不起作用或没有答案(例如 this question。
我正在开发一个包含列表页面的 Vue.js 应用程序。当用户单击列表中的一项时,路由器导航到新的“详细信息页面”。然后,当用户返回时(通过浏览器按钮,或通过页面上使用window.history.back() 的链接,我使用路由器的scrollBehavior 属性将用户带回原来的位置:
scrollBehavior: (to, from, savedPosition) => {
if (savedPosition) {
return savedPosition;
};
return { x: 0, y: 0 };
};
不幸的是,当用户导航到详情页时,页面会跳回到窗口顶部在导航到详情页组件之前,然后,当用户返回到列表页时, savedPosition 等于 { x: 0, y: 0 },这意味着用户不会回到原来的位置。
有没有办法让 vue-router 保留列表页面组件的位置?这是否与页面在导航到详细页面组件之前跳转到右上角的事实有关?
如果需要任何其他信息,请询问。
【问题讨论】:
标签: javascript vue.js vue-router nuxt.js