Доступ из любой точки приложения осуществляется по имени пользовательского события:
this.rootLink.eventProps["emiter-имя-события"]
Доступ из свойства - слушателя события осуществляется: this.emiter
.emit()
- вызывает событие для всех слушателей;
.setEventProp("новые данные")
- вызывает событие для всех слушателей и меняет переменную this.rootLink.eventProps["emiter-имя-события"].prop на новые данные,
получить новые данные в слушателе события можно с помощью this.emiter.prop или this.emiter.getEventProp();
.getEventProp()
- получает данные пользовательского события;
Слушателями пользовательских событий могут быть, как свойства контейнера , так и свойства массива;
Эмитеру пользовательского события можно добавить поведение - метод который будет срабатывать пред вызовом emit для всех слушетелей.
behavior()
метод добавляется к эмитеру событий, если возвращает false событие не будет вызвано, пример использования: eventEmiters: {
//событие для смены типа навигации
["emiter-navigation-type"] : {
prop: "",
behavior: function(){
//если ширина экрана меньше 600 px событие не сработает
if(window.innerWidth < 600 && this.prop == "top-menu")return false;
this.rootLink.stateProperties.NAVIGATION_TYPE = this.prop;
return true;
}
},
},