如何在不重新打开的情况下获得sapui5应用的初始状态

问题描述 投票:0回答:1

我的“创建新用户”应用只能创建一个新用户。如果要创建其他用户,则必须重新启动应用程序。我想要做的是,创建一些按钮来执行此任务,而无需重新启动应用程序。

更具体地说,在首次调用应用程序后,我创建了一个新用户(包括保存)。用户存储在后端,并且在前端仍然可见(因此我可以进一步编辑用户)。如果我想创建一个额外的用户,我想按一些按钮,视图将重新启动/重新加载(还有模型)。最终,我想要应用程序的初始状态。然后,我希望能够创建下一个新用户(包括保存),并且可能另外一个。

我已经尝试过的:

  • 'CrossApplicationNavigation'到我的'创建新用户'应用,没有任何参数。它只能在第一次使用,因为当我按下第二次没有任何反应。 URL保持不变(没有任何参数更改)。
  • 删除模型的数据,然后调用oninit()功能。但是我在重新填充模型时遇到问题。

是否有某些功能或其他可以尝试的功能?

如注释(component.js)中所述:

     init: function () {

        //set model
        this.setModel(models.createTableModel(this), "table");

             if (this.getComponentData().startupParameters.ID) {
                                var sID = this.getComponentData().startupParameters.ID[0];
                                if (sID !== "") {
                                    this.getModel("table").setProperty("/ID", sID);
                                } else {
                                    this.getModel("table").setProperty("/ID", "");
                                }
                            }

        }
sapui5
1个回答
0
投票

我认为,您使用的是本地模型?然后,您必须重置本地模型。在onInit函数中并按“添加新用户”按钮,重置本地模型。

onInit: function(){
  this.oLocalModel = this.getModel("myLocalModel");
  this._resetModel(this.oLocalModel);
},

_resetModel: function(oModel){
  oModel.setData();
},

onPressAddNewUser: function(){
  this._resetModel(this.oLocalModel);
}
© www.soinside.com 2019 - 2024. All rights reserved.