vue-router:how to not `saveScrollPosition`
vue-router:how to not `saveScrollPosition`
就我而言,我使用了vue
和vue-router
。我犯了一个问题,有点saveScrollPostion
属性不能很好地工作。
这是我的代码:
router.js
export default router => {
"use strict"
router.map({
//'/': {
// component: null
//},
'/blogs': {
component: require('./views/ArticleListPage.vue'),
subRoutes: {
'/': {
component: require('./components/ArticleList/ArticleListSection.vue'),
},
'/tag/:name': {
component: require('./components/ArticleList/ArticleListSection.vue'),
name: 'tag'
},
'/classification/:name': {
component: require('./components/ArticleList/ArticleListSection.vue'),
name: 'classification'
}
}
},
'/projects': {
component: require('./views/ProjectPage.vue')
},
'/about': {
component: require('./views/AboutPage.vue')
},
'/p/:id': {
component: require('./views/ArticlePage.vue')
},
'*': {
component: require('./views/NotFound.vue')
}
});
router.beforeEach(()=>{
});
在 index.js
中,Router
实例中有两个设置:
const router = new Router({
history: true,
saveScrollPosition: false
});
问题是:如果转到任何/p/:id
路线并向下滚动页面,您会发现返回后前一页也滚动了。
我已经阅读了vue-router文档,它说saveScrollPostion
如果您有过渡效果,则可能无法按预期工作。
删除设置或仅将saveScrollPosition
更改为 false 时,问题仍然存在。
我想是我写的router.map
方法导致了错误的结果。
我也想知道我的项目代码中是否有任何错误,而不是导致此问题的vue-router
设置。
此外,我没有在路由转换之间编写任何transition
设置。
谢谢大家回答我的问题。
尝试观察 Vue $route属性,例如:
watch: {
$route: function() {
window.scrollTo(0,0);
}
}
相关文章:
- 没有找到相关文章