Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何销毁片段(或视图)?_Javascript_Sapui5 - Fatal编程技术网

Javascript 如何销毁片段(或视图)?

Javascript 如何销毁片段(或视图)?,javascript,sapui5,Javascript,Sapui5,我创建了这个片段: var dialogFrafment = sap.ui.xmlfragment( "appIntra.fragment.dialog", this.getView().getController() // associate controller with the fragment ); this.getView().addDependent(dialogFrafment); sap.ui.getCore().byId("idMailR

我创建了这个片段:

var dialogFrafment = sap.ui.xmlfragment(
    "appIntra.fragment.dialog",
    this.getView().getController() // associate controller with the fragment            
);
this.getView().addDependent(dialogFrafment);
sap.ui.getCore().byId("idMailReport").setValue(sap.ui.getCore().getModel("mailUser"));

dialogFrafment.
dialogFrafment.open();

完成后我如何删除它?

将您的对话框格式存储在控制器中

if(!this.dialogFrafment){
this.dialogFrafment=sap.ui.xmlframent(
“appIntra.fragment.dialog”,
this.getView().getController()//将控制器与片段关联
);
this.getView().addDependent(dialogFrafment);
sap.ui.getCore().byId(“idMailReport”).setValue(sap.ui.getCore().getModel(“mailUser”);
}  
this.dialogFrafment.open();
销毁控制器onExit函数中的片段

onExit:function(){
如果(本对话框架){
此.dialogFrafment.destroy(true);
}
},

类似于
dialogFrafment.delete()
您想删除它有什么原因吗?因为片段只返回在片段的createContent中返回的控件,所以您可以使用.destroy()像其他UI5控件一样销毁它。如果片段与活动关联,您可以调用
finish()
方法,这样您就不会更改活动的流程。如果我将xml实例化到onInit中,我该怎么做?我怎样才能找回它?将dialogFrafment存储在我的控制器中,此操作不起作用。。