打开显示sap.m.Page

时间:2016-05-23 01:57:11

标签: sapui5

导航到页面后打开Dialog时出现问题。目的是在用户登陆此页面时始终打开对话框。

简化,我有一个看起来像这样的控制器:

onInit: function() {}
  this.myRouter.getRoute("orderscreate").attachPatternMatched(this._onObjectMatched, this);
},

_onObjectMatched: function() {
  this.dialog = sap.ui.xmlfragment("myDialog", this);
  this.dialog.open();
},

当我放入调试器时,效果很好:我可以看到对话框已打开。

然后,导航动画启动,执行幻灯片动画,完成后再次关闭对话框。我不确定为什么它会在视图渲染后继续导航。

使用navTo时也会发生这种情况。对话框打开,动画启动,对话框再次关闭。据我所知,sap.m.Page在显示之后没有其他方式执行代码。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

除非另有说明,否则TargetHandler将关闭所有打开的对话框。

  

TargetHandler,一个用于关闭对话框并在显示目标时显示NavContainers中的转换的类。

尝试在路由器初始化后添加以下代码

this.myRouter.getTargetHandler().setCloseDialogs(false);