我想知道如何在多个JavaScript文件中拆分一个 Controller 。我目前有一个 Controller ,它有大约5000多个行,浏览它相当令人沮丧。有什么建议如何开始?

最佳答案

另一种方法是在 Controller 之间建立一些层次结构,并在 Controller 之间使用继承。将多个 Controller 使用的逻辑移到一个BaseController.js

例如,您可以设置从BaseController.js扩展的sap/ui/core/mvc/Controller:

sap.ui.define([ "sap/ui/core/mvc/Controller" ], function(Controller) {
    "use strict";

    return Controller.extend("BaseController", {

        someBaseFunction : function() {
            // Do something
        },

    });

});

然后在另一个 Controller 中App.controller.js从您的BaseController.js扩展而来:

sap.ui.define(["%PATH_TO_YOUR_BASE_CONTROLLER%/BaseController",

], function(BaseController) {
    "use strict";

    return BaseController.extend("%PATH_TO_YOUR_APP", {

        onInit : function() {
            // Call function from BaseController.js
            this.someFunction();
        }

    });

});

关于sapui5 - 在多个js文件中拆分 Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48109987/

10-09 04:27