Задать вопрос
@Analka

Vue js событие скролла?

есть список диалогов

<div class="contact-card" @click.prevent="selectUser(dialog.id,dialog.user,index)">
      <div class="contact-card__data">
        <div class="contact-card__data--text">
          <p class="username">{{dialog.fullname}}</p>
          <p class="last--massage" v-html="dialog.message"></p>
        </div>
      </div>
    </div>


при вызове метода `selectUser` подгружаю сообщения выбранного диалога

selectUser(id,user,x,avatar, fullname){
        this.dialogSelect  = id;
        this.userSelect.id  = user;
        this.dialogIndex  = x;
          axios.post('/profile/dialogs/messages',{
              dialog_id: id,
              offset: this.offset,
              limit: this.limit
          })
              .then((response) => {
                  this.messages = response.data.messages;
                  setTimeout(() => {
                      $('.chat--messages__wrapper').scrollTop($('.chat--messages__wrapper').prop('scrollHeight') + 25);
                  }, 500)
              })
              .catch(error => {});
      },


загружаю данные в блок

<ul class="chat--messages__wrapper" v-if="messages.length > 0" >
            <li class="chat--messages__item" v-for="(message,index) in messages">
                    <p class="last--massage" v-html="message.replay"></p>
                </div>
            </li>
        </ul>


как в событии `onScroll` вывести позицию скролла, так не работает

created () {
        window.addEventListener('scroll', this.onScroll);
    },
    destroyed () {
        window.removeEventListener('scroll', this.onScroll);
    },
    onScroll(event){
        console.log(window.scrollY);
        console.log(window.scrollX);
    }
  • Вопрос задан
  • 1987 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Kozack
@Kozack Куратор тега Vue.js
Thinking about a11y
Так если у вас скролл не на окне, а во внутреннем элементе, то на нем и нужно вызывать:
console.log(ChatWrapper.scrollTop);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы