把代码加到需要添加事件的方法内
比如
mounted() {
window.onbeforeunload = function (e) {
if (!this.editDetailFlag) {
return ''
}
e = e || window.event
if (e) {
e.returnValue = this.$t('review.cancelEditMsg')
}
return this.$t('review.cancelEditMsg')
}
}
watch:{
flg () {
window.onbeforeunload = function (e) {
e = e || window.event
if (e) {
e.returnValue = '即将关闭当前页面'
}
return '即将关闭当前页面'
}
}
}
当不需要触发该事件时,只要清空事件就好
if (!flg) {
window.onbeforeunload = null
}
因为浏览器版本不同,会弹出样式不同的Msg,自定义的Msg可能不会生效