SAPUI5片段关闭清除上一屏幕上的数据

SAPUI5片段关闭清除上一屏幕上的数据,sapui5,sap-fiori,Sapui5,Sap Fiori,我在SAPUI5关闭碎片时遇到问题。 我正在创建一个片段并显示一个PDF文件。但当我关闭片段时,它会完美地关闭,但会清除上一个屏幕上引发片段的数据 onMenuNavToTerms: function (oEvent) { this._sValidPath = sap.ui.require.toUrl("demo/smartapp/pdf") + "/TC.pdf"; if (!this._onPdfDiag) { this._onPdf

我在SAPUI5关闭碎片时遇到问题。 我正在创建一个片段并显示一个PDF文件。但当我关闭片段时,它会完美地关闭,但会清除上一个屏幕上引发片段的数据

onMenuNavToTerms: function (oEvent) {

        this._sValidPath = sap.ui.require.toUrl("demo/smartapp/pdf") + "/TC.pdf";
        if (!this._onPdfDiag) {
            this._onPdfDiag = sap.ui.xmlfragment("pdfDisplayFragment", "demo.smartapp.view.DisplayPdf", this);
            this.getView().addDependent(this._onPdfDiag);
        }
        this._oModel = new JSONModel({
            Source: this._sValidPath,
            Title: "Terms and Conditions",
            Height: "600px"
        });

        this.getView().setModel(this._oModel);
        this._onPdfDiag.open();
    },
上面的代码打开片段并显示PDF。下面的代码显示了如何关闭片段:

    onPdfCancelPressed: function (oEvent) {
        // var oView = this.getView();
        var oView = this.getView();
        this._onPdfDiag.close();
        this._onPdfDiag.destroy();
    },
一旦片段关闭,上一个屏幕上打开片段的数据将被清除

我非常感谢你的帮助


当您这样设置模型时,非常感谢:

   this.getView().setModel(this._oModel);

您正在覆盖整个应用程序未命名模型!尝试为片段数据使用不同的命名模型或使用以下方法:如果将bMerge设置为true,则新数据将与旧模型数据合并。

不要销毁它。如果它已经存在,您已经有了创建它一次的逻辑,如果!这是{.Hi Marc,谢谢你的回复。即使我删除了destroy这个东西,它仍然会删除上一页的数据。