2016-04-21 3 views
1

В моем случае я использовал vue и vue-router. У меня возникла проблема, что в некоторой степени saveScrollPostion собственность может не хорошо работать.vue-router: как не `saveScrollPosition`

Это мои коды:

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 и прокрутка страницы вниз, вы w плохо найти предыдущую страницу, также прокручиваемую после возвращения.

Я прочитал vue-router документации, он говорит saveScrollPostion

может не работать должным образом, если ваш имеет эффекты перехода.

При удалении установки или просто изменении saveScrollPosition на значение false проблема все еще существует.

Я думаю, что это метод router.map, который я написал, что вызывает неправильный результат.

Я также задаюсь вопросом, есть ли какая-либо ошибка в моих кодах проектов вместо настроек vue-router, которые приводят к этой проблеме.

Более того, я не написал никаких настроек transition между переходами маршрута.

Благодарим всех вас за ответ на мой вопрос.

ответ

2

пытаются следить за $ маршрута имущества Vue, например:

watch: { 
    $route: function() { 
     window.scrollTo(0,0); 
    } 
} 
Смежные вопросы