Vue возвращает vm как неопределенное всякий раз, когда я пытаюсь получить к нему доступ - PullRequest
0 голосов
/ 02 октября 2019

У меня есть следующий бит кода:

img

, который выводит на консоль следующее:

img2

Я очень долго бился головой, не уверен, куда идти. Это работало очень хорошо, когда я нажал последний раз. Затем я сделал некоторые изменения, которые сломали это, как вы можете видеть. Чтобы попытаться это исправить, я спрятал свои изменения, но я все еще получаю эту ошибку.


Редактировать

search: throttle(live => {
  let vm = this;

  console.log("entered!!!");
  console.log("this", this);
  console.log("vm", vm);

  if (typeof live == "undefined") {
    live = true;
  }

  if (!live) {
    // We are on the search page, we need to update the results
    if (vm.$route.name != "search") {
      vm.$router.push({ name: "search" });
    }
  }

  vm.$store.dispatch("search/get", {
    type: vm.searchType,
    query: vm.searchQuery
  });
}, 500)

1 Ответ

1 голос
/ 02 октября 2019

Предполагая, что search находится в вашем methods, оно не должно использовать функцию стрелки, поскольку это даст вам неправильную this привязку.

Вместо этого используйте:

methods: {
  search: throttle(function (live) {
     // ...
  }, 500)
}

Здесь я также предполагаю, что throttle сохранит значение this, которое было бы типично для реализаций регулирования.

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