0

在我的 sencha touch 应用程序中,每当我调用 Ajax 请求时,我都会在屏幕上设置一个加载掩码,直到一些响应被发回,但假设我同时执行多个 Ajax 请求,我会看到多个加载掩码。我该如何阻止这种情况发生。我试着像

if(Ext.Viewport.getMasked()){
//bypass
}
else {
Ext.Viewport.setMasked({
                xtype: 'loadmask'
            });
}

但这似乎不起作用,当请求完成时我这样做

Ext.Viewport.unmask();

但我的问题是,如果两个请求并行运行,我会看到两个掩码。有没有办法防止这种情况发生。

我正在使用 Sencha touch 2.3.0

4

1 回答 1

0

您的问题可能是您正在执行Ext.Viewport.getMasked而不是Ext.Viewport.getMasked()。无论如何,如果您在同一个组件(在本例中为 Viewport)上设置多个负载掩码,新的将替换旧的。您很可能将这些掩码设置在不同的组件上,这就是您看到多个组件的原因。

这是一个 Sencha Fiddle 的链接,显示了 Viewport loadmasks 如何替换。如果您仍然遇到问题,请分享一些代码。

于 2014-08-14T22:56:09.250 回答