我正在为ExtJS应用程序编写单元测试。 我使用一种身份验证方法,在成功验证后创建应用程序。
但如果我想多次执行此方法,我会遇到问题,因为应用程序会被多次创建。
如何销毁ExtJS应用程序?
MyApp.destroy()不起作用。
答案 0 :(得分:1)
它究竟不起作用?
如果页面上有剩余视图,则可能需要按照Ext.Viewport.removeAll(true, true);
答案 1 :(得分:1)
在Ext JS 4中,控制器和应用程序不支持销毁。您可以像@chinabuffet建议的那样销毁和重新创建Viewport,但您应该假设Application对象是不朽的,并围绕它重构您的应用程序逻辑。
答案 2 :(得分:1)
为什么不在初始化函数中添加标志设置器,以便在应用程序成功进行身份验证时设置为例如MyApp.alreadyInitiated = true;
在init函数中,只需添加一个检查
if (MyApp.alreadyInitiated) {
return;
}
MyApp.alreadyInitiated = true;
或者,如果您不喜欢多次返回,只需使用!MyApp.alreadyInitiated,并且仅在代码通过时运行。