<script> import { mapState } from 'vuex' export default{ name: 'clockFx', data () { return { } }, computed: mapState({ listenFlag: state => state.listenFlag }), methods: { verify: function () { let thisObj = this if (this.listenFlag) { window.popstate = function () { thisObj.cancelBack() window.location.href = '#/LearningContent' //要跳轉的鏈接 } window.addEventListener('popstate', window.popstate, false) } }, cancelBack: function () { this.$store.commit('listenFlag', false) window.removeEventListener('popstate', window.popstate) } }, created: function () { this.verify() }, watch: { '$route': 'verify' } } </script>
如果還寫了其他的方法,那每個方法里面都要加上 thisObj.cancelBack() 這句話,是為了阻止其他事件觸發返回按鈕的事件