1
我使用2個XML片段,一個用於顯示數據,另一個用於編輯。從Fiori Launchpad導航後,碎片被破壞?
我用這個方法切換片段:
onAfterRendering : function() {
this._toggleForm("Display");
},
_toggleForm : function(sFragmentName) {
var oPage = this._detailPage;
//my detail page has an object header, a fragment form and a form in detail view.
if(oPage.getContent().length > 2) {
oPage.removeContent(1);
}
oPage.insertContent(this._getFormFragment(sFragmentName), 1);
},
_formFragments: {},
_getFormFragment: function (sFragmentName) {
var oFormFragment = this._formFragments[sFragmentName],
oView = this.getView();
if (oFormFragment) {
return oFormFragment;
}
oFormFragment = sap.ui.xmlfragment(oView.getId(), "namespace.fragment." + sFragmentName, this);
oView.addDependent(oFormFragment);
return this._formFragments[sFragmentName] = oFormFragment;
}
一切正常......可是,如果我叫該應用從菲奧裏啓動板,第一個電話是好的,但第二次給我這個insertContent
中的錯誤:
ID爲XXX-detail-general的對象已被銷燬,無法再使用。
爲什麼不使用表單元素的可編輯狀態?這比破壞和切換碎片更容易。你不這麼認爲嗎? –
@AndriiNaumovych,謝謝你的建議,我在我的回答中更新了我的理由,如果有任何錯誤,歡迎您更正。 – Tina