В SAPUI5/OpenUI5 xmlfragment documentation третьим параметром является контроллер для обработки действий из фрагмента.Передача другого контроллера при создании экземпляра в SAPUI5
Это очень важно для диалога фрагмента, где есть кнопки для пресса и т.д.
Большую часть времени я видел этот экземпляр в качестве this
или sap.ui.getCore().byId('<element>').getController())
Смотрите пример на Fragment not get correct Controller
Потому что сложности в конкретном диалоге я хотел бы иметь отдельный контроллер для него.
Я рассмотрел это и сделал несколько попыток, но пока не удался.
Я применил рабочий пример на github с использованием this
.
Но я хотел бы создать экземпляр Dialog.js
в качестве контроллера для Dialog.fragment.xml
от initial.view.controller
Любые берущих?
Запрос на получение запроса с радостью.
Суть примера заключается в следующем (это initial.controller.js):
sap.ui.controller("sc.test.view.initial", {
oDialog: null,
openTestDialog: function(){
console.log("in open dialog");
// instantiate the other controller
var oDialogController = new sc.test.view.Dialog();
// this next commented line is the 'normal' way to do it
// oDialog = new sap.ui.xmlfragment("sc.test.view.Dialog", this); //oDialogController);
// this is what I would like to achieve
oDialog = new sap.ui.xmlfragment("sc.test.view.Dialog", oDialogController);
oDialog.open();
},
onCartDialogCancel:function(oEvent){
// this function would then be in the other controller but how to get a handle on the dialog?
oDialog.close();
}
});
Спасибо.
Пожалуйста, пост (упрощенный) пример вы получили здесь. (Политика Stackoverflow) –
Done Thanks @ Gábor-bakos – njames