javascript - 从 sapui5 中的压力处理程序内部调用 Controller 函数

标签 javascript json sapui5

我想过滤 ButtonPress 上的表格,并将表格 + 3 个其他按钮设置为可见。我的愿望是在 Controller 中执行此操作,但我似乎找不到在事件处理程序中调用 Controller 函数的方法。

按钮:

var searchButton = new sap.ui.commons.Button({
            text: 'Partner suchen',
            width: "100%",
            press: function(oEvent) {
                var myInput = sap.ui.getCore().byId('Handler').getValue(); //$('.row input[role="textbox"]:enabled').val();
                var query = oEvent.getParameter("query");

                var listBinding = oTable2.getBinding();
                var oFilter = new sap.ui.model.Filter ("nummer", sap.ui.model.FilterOperator.EQ, myInput);
                listBinding.filter([oFilter]);

                //[oController.enablen, oController]

                //sap.ui.getCore().byId('vertL2').setVisible(true);
                //sap.ui.getCore().byId(this.createId('anlegBut')).setEnabled(true);
                //sap.ui.getCore().byId(this.createId('editBut')).setEnabled(true);
                //sap.ui.getCore().byId(this.createId('submitBut')).setEnabled(true);
            }
        });

在我的 Controller 中,我有一个想要调用的函数:

enablen : function () {
    var view = this.getView();

    sap.ui.getCore().byId('vertL2').setVisible(true);
    view.byId('anlegBut').setEnabled(true);
    view.byId('editBut').setEnabled(true);
    view.byId('submitBut').setEnabled(true);
}

但是在按钮的事件处理程序内部调用它似乎是不可能的。

最佳答案

这个问题的解决方案是(再次查看 API 后):

var searchButton = new sap.ui.commons.Button({
            text: 'Partner suchen',
            width: "100%",
            press: /*[oController.enablen, oController]*/ [function(oEvent) {
                var myInput = sap.ui.getCore().byId('Handler').getValue(); //$('.row input[role="textbox"]:enabled').val();
                var query = oEvent.getParameter("query");

                var listBinding = oTable2.getBinding();
                var oFilter = new sap.ui.model.Filter ("nummer", sap.ui.model.FilterOperator.EQ, myInput);
                listBinding.filter([oFilter]);

                this.enablen();

            }, oController]
});

关于javascript - 从 sapui5 中的压力处理程序内部调用 Controller 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29557886/

相关文章:

javascript jquery 选择不工作

javascript - 如何在 ExtJS 中使用 XTemplate

jquery - 使用jquery表单插件,如何阻止json编码的html被转义

sapui5 - 如何通过 UI5 中的 XML 模板覆盖/禁用 `escapeHandler` 的 `Dialog`?

javascript - 如何从模型获取 ODATA 值并将其显示在消息框中

javascript - Angular : ng-click() accepting invalid arguments

javascript - Knockout js 订阅函数(对于可观察对象)正在 ko.applyBindings(...) 中执行

ios - 将 JSON 输出存储在 NSArray 中

json - 在 pig 中解析复杂的 json?

odata - 如何更改智能表 SAPUI5 中图标的文本