методы доступа из текущего компонента vue - PullRequest
0 голосов
/ 05 ноября 2018

Может ли кто-нибудь поучаствовать или подсказать, как решить эту проблему ниже. Вариант использования: попытка реализовать компонент уведомления Сценарий: я пытаюсь вызвать метод или изменить состояние данных при срабатывании события в Vue. Я определил прослушиватель событий в смонтированной функции и пытаюсь получить доступ к одному из методов.

enter image description here

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

Где я скучаю? это неправильно, чтобы изменить состояние в приемнике событий? В основном я пытаюсь реализовать функцию уведомления, которая автоматически исчезает через несколько секунд

Любая помощь приветствуется.

Спасибо, Гириш

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

Существует еще одна причина, this внутри функции обратного вызова не является компонентом Vue. Вы можете назначить var self = this и использовать внутри функции обратного вызова или использовать функцию стрелки.

mounted: function () {
  var self = this
  EventBus.$on('show', function () {
    self.test()
    self.show = true
  })
},
methods: {
  test () {
    console.log('Inside methods')
  }
}
0 голосов
/ 05 ноября 2018

Я считаю, что ваша проблема в правописании вместо

method: {}

, используйте methods: {} Пример:

Error.
method: {
test: function () {
alert('Inside Method');
}

correct.
methods: {
test: function () {
alert('inside method);
}
}

Я знаю, что это не имеет ничего общего с вопросом, но будьте осторожны при использовании шины событий, это было бы так, как если бы у вас был оратор, и выкрикивал в середине толпы имя человека. Пример: Eventbus говорит, что Гамильтон среди толпы из 10000 человек. Сколько Гамильтонов вы можете иметь среди этой толпы? Используйте что-то более конкретное, например, связь между родителями и детьми, избегайте использования шины событий.

...