VueJS - Как получить экземпляр одного файлового компонента в теге script - PullRequest
0 голосов
/ 13 октября 2018

У меня есть один файловый компонент dashboard.vue.В его теге script у меня есть следующий код:

<script>
    export default {
        data: function(){
            return {
                scrolled: false,
            }
        },
    };
    $window.on({
        scroll: function(){
            this.scrolled = true;
        },
    });
</script>

Как получить доступ к экземпляру vue компонента в приемнике событий $window.on для обновления данных?Я знаю, почему this не будет работать в текущей настройке, просто нужно знать, что будет.Приветствия.

1 Ответ

0 голосов
/ 13 октября 2018

Вы можете переместить прослушиватель событий в хук created или mounted.

  <script>
    export default {
      data: function () {
        return {
          scrolled: false,
        }
      },
      created() {
        const self = this
        $(window).on({
          scroll: function () {
            self.scrolled = true
          }
        })
      },
      beforeDestroy() {
        $(window).off("scroll")
      }
    }
  </script>

Не забудьте удалить его в хуке beforeDestroy.

...