@danilr

Почему событие @scroll у Vue не срабатывает?

Почему событие @scroll у Vue не срабатывает? И как сделать, чтобы сработало?
Вот документ, root это область видимости Vue
<body>
    <div id="root">
    <div @scroll="hideHeader" class="all-wrapper">
            <div class='header-sticky' :class="{'header-show': isShowHeader}">
                    <div class="logo">

new Vue({
    el: root,
    data:{
        isAdvantageMore: false,
        currentAdv: '',
        isShowHeader: true
    },
    methods:{
        openAdvantageMore(value){
            this.isAdvantageMore = !this.isAdvantageMore;
            this.currentAdv = value;
            document.body.style.overflow = this.isAdvantageMore? "hidden" : "auto";
        },
        hideHeader(){
            var scrollTop = window.pageYOffset || document.documentElement.scrollTop;
            this.isShowHeader = scrollTop > 100 ? false : true;
            console.log(this.isShowHeader);
        }
    }
});
  • Вопрос задан
  • 5918 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Убедитесь, что обработчик действительно назначен элементу, который скроллится, а не какому-нибудь из его дочерних элементов. Убедитесь, что этому элементу задано свойство overflow: scroll или overflow-y: scroll.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы