Методы доступа из текущего компонента vue

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

введите описание изображения здесь

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

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

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

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

2 ответа

Есть еще одна причина,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')
  }
}

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

method: {}

использовать methods: {}Пример:

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

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

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

Другие вопросы по тегам