javascript - openui5,Java脚本-嵌套此关键字

标签 javascript sap sapui5

可以说我在JavaScript中有以下代码:

var temp = Controller.extend("sap.ui.demo.wt.controller.App", {
    onInit: function() {
        // set data model on view
        var myoData = {
            recipient: {
                name: "World"
            }
        };
        var oModel = new JSONModel(myoData);
        this.getView().setModel(oModel);
        // set i18n model on view
        var i18nModel = new ResourceModel({
            bundleName: "sap.ui.demo.wt.i18n.i18n"
        });
        this.getView().setModel(i18nModel, "i18n");
    },
    createBtn: function(text) {
        var btn = new sap.m.Button({
            text: text,
            press: function() {
                sap.m.MessageToast.show(this.getText() + ' is clicked');
                var oModel = new JSONModel("resources/products.json"); 
                //** how to call onInit from here ? **
            }
        }).addStyleClass('sapUiSizeCompact');
        return btn;
    }
});


我写了一个事件按下按钮,如前所述。
我如何在按下事件时调用onInit函数?

这样的东西。

谢谢!

最佳答案

有几种可能性。我将列出(imo)最常见的。

1.绑定

press: (function (oEvent) {
    // now this refers to your controller, not the sender
    sap.m.MessageToast.show(oEvent.getSource().getText() + ' is clicked');
    var oModel = new JSONModel("resources/products.json");
    this.onInit();
}).bind(this)


2.那个

createBtn: function (text) {
    var that = this;
    var btn = new sap.m.Button({
        text: text,
        press: function (){
            // this is still the sender, that is the controller
            sap.m.MessageToast.show(this.getText() + ' is clicked');
            var oModel = new JSONModel("resources/products.json");
            that.onInit()
        }
    }).addStyleClass('sapUiSizeCompact');

    return btn;
}

关于javascript - openui5,Java脚本-嵌套此关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35547686/

相关文章:

javascript - 内联文本背景颜色,无需划分为单独的元素

javascript - 添加新的 Meteor CollectionFS 存储

javascript - 在express.js中间件请求中获取 "#"之后的url

.net - ERPConnect(Theobald 软件): RFC authorization

javascript - 事件自行触发

javascript - THREE.JS - Vector3.project 返回奇怪的结果

c# - SAP 企业服务工作区

javascript - UI5路由不会实例化 View

javascript - 如何在控件容器中找到SAPUI5控件并将其显示在顶部部分?