Q: Получить координаты скролла VueJs как при прокрутке скролла вверх в блоке сообщений вызвать метод getMessages()
 <ul class="chat--messages__wrapper" v-if="messages.length > 0">
      <li class="chat--messages__item" v-for="(message,index) in messages">
        <div class="chat--user__image" v-bind:style='{ backgroundImage: `url("/storage/${message.avatar}")` }'></div>
        <div class="chat--user__data">
          <p class="last--massage" v-html="message.replay"></p>
        </div>
      </li>
    </ul>

 export default {
        name: "Dialogs",
        data: function () {
            return {
                messages: [],
            }
        },
        created(){
        },
        watch: {
        },
        computed: {

        },
        mounted() {

        },
        methods: {
            getMessage(){
                axios.get('/profile/dialogs/messages',{
                    channels: this.dialogSelect, message:this.message
                })
                    .then((response) => {
                        this.messages.push(this.email);
                        //this.dialogs = response.data;
                    })
                    .catch(error => {});
            },
    }
}


A: <ul ref="msg_wrapper" ...>
    ...
</ul>

export default {
    ...
    methods: {
        onScroll (event) {

            if(this.$refs.msg_wrapper.scrollTop == 0){
                this.getMessage();
                //Что бы избежать бесконечной загрузки нужно проскролить вниз на высоту добавленных сообщений.
            }

        }
    },
    created () {
        this.$refs.msg_wrapper.addEventListener('scroll', this.onScroll);
    },
    destroyed () {
        this.$refs.msg_wrapper.removeEventListener('scroll', this.onScroll);
    }
}

Ps: если не работает ,то повесь слушатель на  window, или добавь стили overflow 

A: Я бы к предыдущему ответу добавил определение высоты блока и задал дельту, при которой срабатывает загрузка. Например, если до конца блока остаётся менее 100 пикселей вызываю getMessage(). Люблю использовать var rect = element.getBoundingClientRect(), в нем вся инфа по размещению элемента
