私は最近この質問をしました:
Worklight busyindicator が正しく機能していません。私の問題は、マルチページを使用していることです。ページ変更時に、Web サービスのアダプターを呼び出し、ビジー インジケーターを呼び出して、フェッチ中に進行中の作業が表示されるようにします。アダプターはまだフェッチ段階にあり、データが正常に呼び出された後、これらの作業中にビジー インジケーターは表示されません。
var busyIndicator = null;
function wlCommonInit(){
busyIndicator = new WL.BusyIndicator();
}
これは、ページ変更時に呼び出すコードです。
busyIndicatorDemo();
var viewPath = "views/add_fund_transfer.html";
WL.Page.load(viewPath,
{
onComplete: function() {
PayAnyOne_Controller.GetBranches(GetBranchesProcedureName);
busyIndicator.hide();
}
});
function busyIndicatorDemo() {
busyIndicator.show();
setTimeout(15000);
}
マルチページで使用する場合、busyindicator は adpater では機能しないようです。私のコードの解決策または問題を教えてください。
するとこんな返事が返ってきました。
ページの読み込みが完了したとき: プロシージャを呼び出し (非同期呼び出し)、ビジー インジケーターを非表示にします。したがって、これにより、報告された動作が生成されます-サービスがまだデータをフェッチしている場合でも(非同期呼び出しで)、ビジーインジケーターが表示され、ページの読み込みが完了するとすぐに非表示になります
busyindicator.hide を呼び出しプロシージャの onSuccess に移動すると、問題が解決するはずです (onFailure にも入れてください...)
与えられた解決策は、どのように機能したかです..しかし、プロシージャを呼び出すと、busyindicator が数秒間表示され、プロシージャがまだビジーである間に消えます。私は上記の解決策を実行しました。–</p>