就我而言,我使用过vue
and 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
在路线转换之间编写任何设置。
谢谢大家回答我的问题。