コード
<script>
export default {
destroyed () {
window.removeEventListener('beforeunload', this.confirmReload)
window.removeEventListener('unload', this.confirmAfterReload)
},
mounted () {
window.addEventListener('beforeunload', this.confirmReload)
window.addEventListener('unload', this.confirmAfterReload)
},
created() {
if(localStorage.getItem('reload-flg')) {
localStorage.removeItem('reload-flg')
this.$router.push('/dummyUrl') → ここに遷移させたいURLを記載
return
}
},
methods: {
confirmReload (event) {
event.returnValue = 'このサイトを再読み込みしますか?'
},
confirmAfterReload () {
localStorage.setItem("reload-flg", true)
}
}
}
</script>
localstrageを使用して力技で、画面遷移させました。。!
(ちなみにモードはSPAです)
vuexで状態管理していたらリロードされた場合に、
画面遷移させたいケースって結構ある気がしますが、
みなさんどうしているのだろうか??