2

在某些情况下,我需要重新初始化我的 Sencha Touch 应用程序。直到现在我只是习惯location.reload()这样做。然而,这对于用户体验来说真的很糟糕,因为整个 HTML 页面、JS 和 CSS 也会重新加载。

所以我正在寻找一种简单而干净的方法来重置和重新初始化我的应用程序,而无需重新加载整个页面。

我试图做一些事情,比如Ext.Viewport.removeAll(true, true)从视口中删除所有视图组件。但是,当您之前屏蔽视口或之前显示一些对话框时,这会导致一些错误。Sencha 保留了对在屏蔽视图或显示对话框时创建的对象的一些引用,这些引用在从视口中删除所有组件后将不再存在:

Ext.Msg.alert()
Ext.Viewport.removeAll(true, true)
Ext.Msg.alert() // => will raise `TypeError: Cannot read property 'dom' of null`

您如何在不重新加载整个页面的情况下重新初始化您的应用程序?有没有办法做到“好”的方式?

4

1 回答 1

0

您可以通过调用应用程序的启动函数来重新启动应用程序。假设您的应用程序名称是 my_app,您可以使用以下命令重新启动应用程序:- my_app.app.launch()

于 2013-09-30T12:17:54.730 回答