vue中类工具创建 class BackScroll

总结:

1.addEventListener 只支持传方法名字,不可以传参。

2.修改this指向

 

class BackScroll {
    constructor() {
        this.pageSign = ''
        this.fnScroll = this.fnScroll.bind(this)
    }
    scrollInit(pageSign) {
        // console.log(pageSign)
        this.pageSign = pageSign
        localStorage.setItem(pageSign, 0)
    }
    activated(pageSign) {
        setTimeout(() => {
            let scrollValue = parseInt(localStorage.getItem(pageSign))
            console.log(scrollValue)
            document.documentElement.scrollTop = scrollValue || 0
            document.addEventListener('scroll', this.fnScroll)
        }, 100)
    }
    deactivated(pageSign) {
        document.removeEventListener('scroll', this.fnScroll)
    }
    fnScroll() {
        let pageSign = this.pageSign
        let scrollValue = document.documentElement.scrollTop
        console.log(pageSign + '-scroll:' + scrollValue)
        localStorage.setItem(pageSign, scrollValue)
    }
}
export default new BackScroll()

  

posted @ 2020-06-03 11:54  l_strive  阅读(448)  评论(0)    收藏  举报