Vuejs2 прослушать страницу прокрутки не удается - PullRequest
0 голосов
/ 21 мая 2019

Я использую vuejs2 с codeigniter.

Я добавил следующее в HTML

<header id="test_header">
     my nav menu
</header>   

В отдельном файле scripts.js

script.js

new Vue({
 el: '#test_header',
 data:function(){
  return{

  }
},
methods:{
    handleScroll(){
        console.log("on scroll");
    },
    listenScroll(){
        window.addEventListener("scroll", this.handleScroll);
    }
},
mounted() {
  this.listenScroll();
},
destroyed () {
    window.removeEventListener('scroll', this.handleScroll);
}
});

Я пытаюсь прослушать событие прокрутки, но функция выполняется только один раз. То есть console.log («on scroll») выполняется только во время монтирования, но функция никогда не выполняется, когда страница прокручивается

Я включил файлы javascript в html в следующем порядке

<html> 
  <body> 
   <script src="vuejs.js"> //includes vuejs frameworks
   <script src="script.js"> ///includes above code
  </body>
 </html>

Чего мне не хватает?

1 Ответ

1 голос
/ 21 мая 2019

Создать прослушиватель событий для события прокрутки в created()

ех

  created(){
    window.addEventListener("scroll", this.myFunction);
  }

Также ваш метод объекта должен выглядеть так:

{
  myFunction: function(){},
  anotherFunction: function(){}
}

Рабочая js скрипка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...