0

私の sencha touch アプリでは、Ajax リクエストを呼び出すたびに、応答が返されるまで画面にローディング マスクを設定しますが、同時に複数の Ajax リクエストを実行しているとします。複数のローディング マスクが表示されます。これが起こらないようにするにはどうすればよいですか。のようにチェックを入れてみました

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

しかし、これは機能していないようで、リクエストが完了したらこれを行います

Ext.Viewport.unmask();

しかし、私の問題は、たとえば 2 つの要求が並行して実行されている場合、2 つのマスクが表示されることです。これが起こらないようにする方法はありますか。

Sencha touch 2.3.0 を使用しています

4

1 に答える 1

0

Ext.Viewport.getMasked()の代わりにExt.Viewport.getMaskedを実行していることが問題かもしれません。いずれにせよ、同じコンポーネント (この場合はビューポート) に複数のロードマスクを設定している場合、古いものは新しいものに置き換えられます。ほとんどの場合、これらのマスクをさまざまなコンポーネントに設定しているため、複数のマスクが表示されます。

Viewport ロードマスクがどのように置き換えられるかを示す Sencha Fiddle へのリンクを次に示します。それでも問題が解決しない場合は、コードを共有してください。

于 2014-08-14T22:56:09.250 に答える