我想知道如何在多个JavaScript文件中拆分控制器。我目前有一个控制器,它有大约5000多行,并且导航它是相当令人沮丧的。有任何建议如何开始?
答案 0 :(得分:4)
您可以从几种方法开始:
Mixin可以实现为 AMD模块,它只返回具有所有需要功能的 JSON 对象。为了将它注入控制器,只需使用 jQuery.extend 方法来使用mixin增强控制器的对象。
答案 1 :(得分:2)
这个问题可能会引起一些有见解的答案,但一般,你可以从以下开始:
我还鼓励在开始之前写一些回归short intro。
答案 2 :(得分:1)
另一种方法是在控制器之间设置一些层次结构,并使用控制器之间的继承。将多个控制器使用的逻辑移动到一个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
},
});
});
另一个控制器,例如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();
}
});
});
:
{{1}}