鍍金池/ 問答/Linux  網(wǎng)絡(luò)安全  HTML/ 請(qǐng)問在vue中,為什么切換路由的時(shí)候,另一個(gè)組件的window.scroll會(huì)自

請(qǐng)問在vue中,為什么切換路由的時(shí)候,另一個(gè)組件的window.scroll會(huì)自動(dòng)執(zhí)行一次???

各位前輩,今天我在用vue寫一個(gè)功能的時(shí)候發(fā)現(xiàn)一個(gè)很奇怪的問題,

我在一個(gè)組件的mounted鉤子里面寫了window的滾動(dòng)事件
圖片描述

路由的出口使用keep-alive
圖片描述

奇怪的事情來了,我在這個(gè)組件滑動(dòng)了一點(diǎn)距離,然后點(diǎn)擊瀏覽器左上角的后退按鈕,推回到上一個(gè)路由頁面,
圖片描述
圖片描述
圖片描述

為什么上一個(gè)組件的window滾動(dòng)事件會(huì)執(zhí)行一次???????????雖然功能沒有問題,但是會(huì)報(bào)這個(gè)錯(cuò)啊!

希望能得到前輩解答!打擾了!

回答
編輯回答
入她眼

mounted window.addEventListener("scroll", func)
destroyed window.removeEventListener("scroll", func)

2017年12月7日 05:30
編輯回答
膽怯

在當(dāng)前組destroyed 周期銷毀一下?

2017年6月3日 02:29
編輯回答
薄荷綠

自己找到答案了,因?yàn)樵趉eep-alive作用下,某些鉤子函數(shù)會(huì)失去作用,在deactivated()這個(gè)鉤子函數(shù)解綁即可,

2017年3月16日 01:47