【发布时间】:2020-07-29 23:28:46
【问题描述】:
我对sapui5比较陌生,无法解决以下问题。
我有一个 SplitApp。 当我在主视图中选择第一个条目时,将调用详细视图。在详细视图的 onInit 事件中,方法 createEntry 运行。为了处理我的输入数据,我调用了 submitChanges。
现在,当我在主视图上调用第二个条目时,会调用另一个视图,并且对于该第二个视图,onInit 事件会运行并创建一个自己的条目。但是从方法 createEntry 的第一个视图中创建的条目不会被删除。 现在我调用我的主视图上的第一个条目,并且 onInit 事件再次运行,并且将为第一个视图创建第二个 ID。当我运行 submitChanges 方法时,这会导致错误。 我在视图之间切换的次数越多,我创建的条目就越多。
那么有没有可以用来调用 deleteCreatedEntry 的事件?我已经尝试过 onExit 和 onBeforeHide。 或者最好检查一下是否已经创建了条目?我必须为此使用哪个代码?
this.oContext = this.getModel().createEntry("/MyoData01Set", {
success: this._successSave.bind(this),
error: this._errorSave.bind(this)
});
非常感谢和最好的问候 朱莉娅
另外 13.05.20:
我实施了该建议,但仍然无法正常工作。当我尝试输入方法 _this.bindNewContext(); 时出现错误 请看代码:
handleMatchedDetail: function (oEvent) {
this.getModel().metadataLoaded().then(function () {
this.getModel().resetChanges().then(function () {
this._bindNewContext();
});
}.bind(this));
},
_bindNewContext: function () {
this.oContext = this.getModel().createEntry("/Kardex01Set", {
success: this._successSave.bind(this),
error: this._errorSave.bind(this)
});
// }
var oBindingPath = {
path: this.oContext.getPath(),
events: {
change: function () {
this.getModel().read("/Kardex01Set('0')", {
success: function (oData, oResponse) {
this.getView().getModel().setProperty(this.oContext.getPath() + "/tanum", oData.tanum);
}.bind(this)
});
}.bind(this)
}
};
this.getView().bindObject(oBindingPath);
},
【问题讨论】:
标签: javascript sapui5