Skip to main content

События

События - более общий, чем изменения, вид сигналов

const bus = observable(null)

// подписываемся на событие
bus.$on('test', (e) => {
// обработка события
})

// выбрасываем событие
bus.$emit('test', {/* событие */})

В компонентах событий как таковых нет. Функционалом событийной шины могут обладать переменные скоупа. на эти события можно подписаться с помощью блока events с указанием переменной, на которую выполняется подписка


const timer = observable(null)

setTimeout(() => timer.$emit('tick'), 100)

export default () => {
return {
defaults: {
data: () => timer
},
events: {
data: {
tick: (e, scope) => {
// обработчик будет вызван через 100мс
}
}
}
}
}

Вторым аргументом обработчика события является скоуп компонента, который на это событие подписан