У меня очень простое приложение, которое состоит из 2 компонентов: App.vue
и другого компонента, Home.vue
, где я храню остальную часть структуры приложения: липкий заголовок и несколько разделов с якорями для прокрутки.
Я хочу применить класс к закрепленному заголовку, чтобы минимизировать логотип во время прокрутки страницы.Поэтому я подумал, что буду следить за любыми изменениями в window.scrollY
.Поэтому, если scrollY
больше 0, примените некоторый класс, который минимизирует логотип.
Я попытался прослушать события прокрутки в моем компоненте, но это не зашло слишком далеко.В этом обсуждении здесь представлено очень хорошее решение, но я не знаю, где разместить событие прокрутки.https://github.com/vuejs/Discussion/issues/324
Итак, я подумал, что наиболее подходящим решением будет создание свойства данных, присвоение ему значения window.scrollY
и последующее наблюдение за изменениями его значения.К сожалению, наблюдатель никогда не срабатывает.Так что теперь я застрял.Код:
data () {
return {
...
windowTop: window.top.scrollY
}
}
...
watch: {
windowTop: {
immediate: true,
handler (newVal, oldVal) {
console.log(newVal, oldVal);
},
}
}
Есть идеи, что я могу делать не так?