2016-06-28 3 views
0

Как добавить несколько событийных прослушивателей к событию в UI5?Регистрация событий в ui5 - присоединение нескольких слушателей к событию

У нас есть основной список с выпадающим списком, который правильно запускает событие выбора на его контроллере. Суб-контроллеры также должны быть проинформированы о том, что этот раскрывающийся список изменился, чтобы перезагрузить данные модели.

onAllRolesChange: function (oEvent) { 
     var key = oEvent.getParameter("selectedItem").getProperty("text"); 

     if (this.ScreenId != null) { 
      this.loadScreenByRole(key); 

     //I could invoke the controllers directly, but that seems wrong     
     //controller2.update(); 
     //controller3.update(); 

     } 

Я предполагаю, что я должен стремиться к как назвать своего рода registerForEvent() метод в каждом из контроллеров, но я не вижу ничего подобного в SDK. fireEvent() и attachEvent(), но примеры, которые я видел, по-видимому, предназначены для создания настраиваемых элементов управления или для ответа на события браузера, которые SAP не реализовал.

ответ

0

Вы можете использовать EventBus, чтобы сообщить об изменении, и кто когда-либо захочет, мог бы прослушать изменение. Однако, если другие контроллеры еще не загружены, они, конечно же, не получат события ... Возможно, вы можете объединить это с обещаниями ...

Вы также можете использовать глобальную модель с двухсторонней привязкой и использовать ее для вашего раскрывающегося списка. Когда когда-либо сбрасывается изменение, это отражается в соответствующей модели. В то же время в ваших вспомогательных контроллерах вы можете создать sap.ui.model.Binding(...) для той же глобальной модели + путь и т. Д., Который используется для выпадающего списка. Кроме того, вы должны приложить обработчик для события изменения привязки ... Это тоже должно работать. Тем не менее, это имеет тот же недостаток, что и использование EventBus, но, возможно, это не проблема для вас ...

+0

EventBus представляется ответом в моем случае, так как субконтроллеры будут жить вовремя, чтобы получить событие. –

+0

Приятно слышать, что – Nabi

Смежные вопросы