Работа с DOM во vue?

204
18 января 2018, 22:29

Допустим у меня есть 4 компонента - main, header, first, second header - это плавающий navbar в котором при скороле переключаются активные ссылки на компонент в зависимости от положения пользователя на сайте.

в main-компоненте я получаю положение пользователя:

<template>
   <div>
      <header ></header>
      <first ></first>
      <second ></second>
   </div>
</template> 
<script>
import header from './header.vue'
import first from './first.vue'
import second from './second.vue'
export default {
  name: 'main',
  data () {
     return {
       scrollPosition: null
     }
  },
  components: {
    first,second,header
  },
  methods:{
      updateScroll() {
        this.scrollPosition = window.scrollY
      }
  },
  mounted() {
      window.addEventListener('scroll', this.updateScroll)
  }
}

Как в main компоненте получить положение нужного нам элемента, например с компонентом first

<template>
  <section ref="first">
      some content
  </section>
</template>
<script>
  export default {
    mounted: function () {
      this.$refs.first.offsetTop // позиция элемента
    }
  }
</script>

Как передать из компонента first позицию элемента в main чтобы там сравнивать ??

READ ALSO
REACT AXIOS No &#39;Access-Control-Allow-Origin&#39; header is present on the requested resource?

REACT AXIOS No 'Access-Control-Allow-Origin' header is present on the requested resource?

Пробую ReactЗапрос на локалке к стороннему api через axios возвращает: Failed to load http://samples

335
Диалоги через WebSocket

Диалоги через WebSocket

Пытаюсь реализовать мгновенные сообщения через сокеты, проблема заключается в том, что любое написанное сообщение могут читать всеПодскажите,...

231
NodeJS - настройка live reload

NodeJS - настройка live reload

Вопрос - как настроить сервер на NodeJS, чтобы при изменении моделей, контроллеров и других файлов приложение, изменения сразу вступали в силу,...

216
Почему невозможно засэтить margin для yandex карты

Почему невозможно засэтить margin для yandex карты

Как сделать чтобы отступы margin-bottom был динамический? Возможно ли прописать это в Yandex API ? Или как можно написать другой скрипт чтобы решить...

213