Function of one (first) SAPUI5 view controller can be called from another (second) SAPUI5 view controller –
if this function is subscribed to some event of EventBus in the first controller:
onInit: function() {
sap.ui.getCore().getEventBus().subscribe(
"SomeChannel",
"SomeEvent",
this.someFunctionOfTheFirstController,
this
);
},
someFunctionOfTheFirstController: function (sChannelId, sEventId, sData) {
console.log(
"Function of the first controller " + sData
);
}
and the same event of EventBus is published in the second controller:
functionOfTheSecondController: function () {
sap.ui.getCore().getEventBus().publish(
"SomeChannel",
"SomeEvent",
"is called from function of the second controller."
);
}
Thanks for sharing this! Had a really hard time figuring out how to call a function on the Master controller from the Details controller in a split app scenario. It was exactly what I was looking for.