SAPUI5 Использование одного контроллера для двух представлений - PullRequest
0 голосов
/ 29 ноября 2018

Недавно я разработал приложение SAPUI5 для Fiori Launchpad и собираюсь перевести это приложение в Freestyle Portal, пригодное для использования в индивидуальном стиле, поэтому мне нужен второй View.

Проблема в том, что у меня естьЗадача использовать ту же логику ака.Controller для обоих видов.Я пытался использовать маршрутизацию, но я не могу найти решение, которое работает для меня, поэтому я буду рад любым предложениям, как решить эту задачу.

Я также действительно новичок в SAPUI5, так что это может бытьчто я упускаю из виду простое решение, поэтому будьте внимательны.

С уважением, Матиас

1 Ответ

0 голосов
/ 30 ноября 2018

Пожалуйста, проверьте документацию SAPUI5 SDK для метода расширения класса sap.ui.core.mvc.controller.

Вы можете определить класс на основе стандарта UI5 sap.ui.core.mvc.controller, используяметод extends для создания контроллера, который содержит общие функции, необходимые для обоих представлений.Затем вы можете определить два контроллера, используя extends на общем контроллере.Теперь у вас будет два контроллера, содержащих общие функции, и у вас будет возможность добавлять определенные функции просмотра.

Обратите внимание, что НЕТ отдельных пространств имен.

Вот схема структуры, которую вы бы хотелиcreate.

Общий контроллер: BaseController.js

sap.ui.define([
    "sap/ui/core/mvc/Controller",
    ... //Other classes needed
], function (Controller, ..) {
    "use strict";
    return Controller.extend("yourApp.controller.BaseController", {
        someMethod: function () {
            ....
        },
    });
});

Специальный контроллер для одного представления ViewOneController.js

sap.ui.define([
    "yourApp/controller/BaseController",
    ... //Other classes needed
], function (myBaseController, ..) {
    "use strict";
    return myBaseController.extend("yourApp.controller.ViewOneController", {
        someMethod2: function () {
            ....
        },
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...