SAPUI5-扩展sap.ui.controller实现

SAPUI5-扩展sap.ui.controller实现,sapui5,Sapui5,我想实现一个新的控制器,它将从现有的控制器中重新定义一些方法 假设我有: MyForm.controller.js sap.ui.controller("MyForm", { showMyName: function() { alert("MyForm.showMyName"); }, onSearch: function(oEvent) { // Do something... }, }); 我想要一个新的MyNewFor

我想实现一个新的控制器,它将从现有的控制器中重新定义一些方法

假设我有:

MyForm.controller.js

sap.ui.controller("MyForm", {

    showMyName: function() {
        alert("MyForm.showMyName");
    },

    onSearch: function(oEvent) {
        // Do something...
    },

});
我想要一个新的MyNewForm控制器,它将覆盖showMyName方法,但将继承onSearch方法。 有什么办法可以做到这一点吗

提前感谢。

它的工作原理如下:

基本控制器的代码:

sap.ui.core.mvc.Controller.extend("MyForm", {
    showMyName: function() {
        alert("MyForm.showMyName");
    },
    //Further functions ....
});
使用MyForm作为基础的MyNewForm控制器的代码:

//require the base first
jQuery.sap.require("MyForm");

//extent the base
MyNewForm.extend("MyForm", {
    onInit : function() {
        this.showMyName(); //alerts
    }
})
在此demoapp中,您可以看到它正在运行: 寻找util/Controller.js作为基类 和view/Master.Controller.js作为类的用法


通过调用方法
sap.ui.controller(“MyForm”,{})向致意,
“MyForm”控制器未定义,在执行范围中永远不可用。

在哪里
sap.ui.core.mvc.Controller.extend(“MyForm”,{})
定义了函数,并由“MyForm”引用,并且在其上定义了extend。

我认为它应该是:


extend(“MyNewForm”,{

这很好用,谢谢。我已经检查了这个示例,但是因为我错过了一些代码,所以不起作用。所以,下面是一些供将来参考的指针:1)基本控制器类不以sufix.controller.js结尾,它只是一个常规的.js文件;2)基本控制器不能直接用作视图的控制器类。这非常有用。