Refactor
This commit is contained in:
parent
1b7a601d27
commit
0e29e864c8
|
@ -76,7 +76,7 @@
|
||||||
<div class="contents">
|
<div class="contents">
|
||||||
<main ref="main">
|
<main ref="main">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<transition name="page" mode="out-in">
|
<transition name="page" mode="out-in" @enter="onTransition">
|
||||||
<keep-alive :include="['index']">
|
<keep-alive :include="['index']">
|
||||||
<router-view></router-view>
|
<router-view></router-view>
|
||||||
</keep-alive>
|
</keep-alive>
|
||||||
|
@ -258,6 +258,10 @@ export default Vue.extend({
|
||||||
if (this.canBack) window.history.back();
|
if (this.canBack) window.history.back();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onTransition() {
|
||||||
|
if (window._scroll) window._scroll();
|
||||||
|
},
|
||||||
|
|
||||||
post() {
|
post() {
|
||||||
this.$root.post();
|
this.$root.post();
|
||||||
},
|
},
|
||||||
|
|
|
@ -56,13 +56,12 @@ export const router = new VueRouter({
|
||||||
// 通常の使い方をすると scroll メソッドの behavior を設定できないため、自前で window.scroll するようにする
|
// 通常の使い方をすると scroll メソッドの behavior を設定できないため、自前で window.scroll するようにする
|
||||||
// setTimeout しないと、アニメーション(トランジション)の関係でうまく動かない
|
// setTimeout しないと、アニメーション(トランジション)の関係でうまく動かない
|
||||||
scrollBehavior(to, from, savedPosition) {
|
scrollBehavior(to, from, savedPosition) {
|
||||||
setTimeout(() => {
|
window._scroll = () => { // さらにHacky
|
||||||
if (savedPosition) {
|
if (savedPosition) {
|
||||||
window.scroll({ top: savedPosition.y, behavior: 'instant' });
|
window.scroll({ top: savedPosition.y, behavior: 'instant' });
|
||||||
} else {
|
} else {
|
||||||
window.scroll({ top: 0, behavior: 'instant' });
|
window.scroll({ top: 0, behavior: 'instant' });
|
||||||
}
|
}
|
||||||
}, 600);
|
};
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue