2015-04-23 97 views
-2

我可以在这里使用一些帮助。我有一个全屏应用程序。我正在寻找打开一个应用程序的负载,并加载视图之前弹出。基于在弹出窗口上采取的操作,我希望视图被加载。在View加载之前打开弹出窗口,弹出关闭后只加载视图

有什么建议吗?

+0

你能分享一些你试过的代码吗? – Qualiture

+0

@Quilture恐怕我不能分享我的代码。我所做的所有事情都是创建并打开了一个弹出的onBeforeRendering事件。这个有效的做法是创建一个弹出窗口并在此期间加载我的视图。我想在用户对弹出窗口执行操作后加载视图 – Reeth

+0

为什么不能有一个空的视图打开弹出窗口,然后基于弹出操作导航到实际视图? – Qualiture

回答

0

我还是设法找到问题的解决渲染 UI渲染使用JS的看法是比较慢。在该页面的DOM结构的其余部分加载之后,弹出窗口无法在onInit上打开。 sap.m.Dialog实际上取决于要渲染的容器大小,它突然发现它的容器已经改变并试图相应地渲染,但是没有做到并且消失。需要做的是打开AfterRendering上的弹出窗口。骨架UI将在后台加载。只有在对弹出窗口做出决定之后,才能继续加载任何实际数据并更新视图。

1

是的!您可以。 请勿添加依赖于从弹出窗口中执行的操作的UI内容。

步骤:

  • 在全屏视图 控制器onInit函数创建一个弹出窗口。
  • 根据动作创建并将内容添加到您的 视图。注

:相比于通过XML视图

+0

感谢您的答案Sunil, 我有相当复杂的意见,这样做只会降低我的应用程序的性能。此外,这将击败在我看来 – Reeth

+0

视图的目的,您可以始终呈现通用的UI骨架。 根据我的假设,您的OData调用依赖于弹出窗口上的操作。如果是这种情况,请避免在UI中直接绑定,并将其绑定到控制器中。 –

+0

不过我能理解复杂程度! 另一个解决方法是加载您的Main.controller.js中的弹出窗口 您可能会遇到打嗝! –