老师好,关于全局事件的绑定和解绑
来源:1-1 导学(必看,课程新用户建议从“一期”开始学习)

慕粉3191952
2020-02-09
我在keeplive上用了Exclued,但是组件的actived两个钩子就失效了,导致了我的window监听事件失效,我应该怎么绑定和解绑才对,我尝试用Created 和beforeDestory里面分别绑定和解绑也不行。
<template>
<div>
<router-link tag="div" to="/" class="hedaer-abs" v-show="showAbs">
<div class="iconfont header-abs-icon"></div>
</router-link>
<div class="header-fixed" v-show="!showAbs" :style="opacityStyle">
<router-link to="/">
<div class="iconfont header-fixed-icon"></div>
</router-link>
{{this.sightName}}
</div>
</div>
</template>
<script>
export default {
name: 'DetailHeader',
props: {
sightName: String
},
data () {
return {
showAbs: true,
opacityStyle: {
opacity: 0
}
}
},
methods: {
handleScroll () {
const top = document.documentElement.scrollTop
if (top > 60) {
let opacity = top / 140
opacity = opacity > 1 ? 1 : opacity
this.opacityStyle = { opacity }
this.showAbs = false
} else {
this.showAbs = true
}
}
},
activated () {
window.addEventListener('scroll', this.handleScroll)
},
deactivated () {
window.removeEventListener('scroll', this.handleScroll)
}
}
</script>
写回答
1回答
-
ustbhuangyi
2020-02-09
如果不是 keep-alive 的话,在 mounted 的时候绑定,beforeDestroy 的时候解绑就可以了
00
相似问题