複数のtableがある場合renderの場合、すべてのロードが完了したと判断する方法
情景がふくげんする
私はlayui tableを使いました.render関数は、複数のテーブルの合計値を計算する必要があります.そしてどのようにロードが完了したかを判断する方法が分かりません(このページで計算する必要があるフォーム項目はいくつかあります)
解決策
1私が考えた最初の方法
この熱心な人が私に提供してくれたアドバイスとはあまり違わない.
現在のページで変数を0に初期化し、各テーブルのdoneコールバックで変数+1を設定して、テーブルの個数と同じかどうかを判断し、もしそうであればその後の処理を行います.
変数を作って、doneごとに+1をして、最後に表の数に等しいかどうかを判断します.しかし、私はどのようにしてこの変数が条件を満たしているかを尋ね続けたのか分かりません.彼らがajaxリクエストだと思うまで、このリファレンスリンクを見てください.解決:
2私が考えた2つ目の方法
私のページには必ず記入しなければならないフォーム項目が含まれているので、普通の人の思考はページが全部ロードされてから記入するに違いありません.そこで、必須項目が変わったときに総額を計算したいと思います.
3私が考えた3つ目の方法
(私はまた試してみましたが、使えません.なぜか分かりません)しかし、その後、いくつかの新しい問題に遭遇し、ページに入るときに直接合計を計算しなければなりません.それから私は仲間に聞いて、彼は私に
4私が考えた4つ目の方法
そして、同期はどうして使えないのかと思っていました.えっ?彼はajaxリクエストなので、すべての非同期リクエストが終了したと判断する方法を見つけることができ、この
私はlayui tableを使いました.render関数は、複数のテーブルの合計値を計算する必要があります.そしてどのようにロードが完了したかを判断する方法が分かりません(このページで計算する必要があるフォーム項目はいくつかあります)
解決策
1私が考えた最初の方法
この熱心な人が私に提供してくれたアドバイスとはあまり違わない.
現在のページで変数を0に初期化し、各テーブルのdoneコールバックで変数+1を設定して、テーブルの個数と同じかどうかを判断し、もしそうであればその後の処理を行います.
変数を作って、doneごとに+1をして、最後に表の数に等しいかどうかを判断します.しかし、私はどのようにしてこの変数が条件を満たしているかを尋ね続けたのか分かりません.彼らがajaxリクエストだと思うまで、このリファレンスリンクを見てください.解決:
//
var count = 0;
done:function(res) {
//
count++;
//
handle();
}
function handle() {
if (count === 3) {
//
}
}
2私が考えた2つ目の方法
私のページには必ず記入しなければならないフォーム項目が含まれているので、普通の人の思考はページが全部ロードされてから記入するに違いありません.そこで、必須項目が変わったときに総額を計算したいと思います.
3私が考えた3つ目の方法
(私はまた試してみましたが、使えません.なぜか分かりません)しかし、その後、いくつかの新しい問題に遭遇し、ページに入るときに直接合計を計算しなければなりません.それから私は仲間に聞いて、彼は私に
$().ready(function(){});
を使うことができると言ったが、この判断はdom全体がロードされたかどうかであり、表は非同期であるため、domロードが完了した->テーブルをロードする順番であるという問題を見つけた.では、このようにして、テーブルを同期ロードにすることができます.合計を計算するので、ここでは非同期の必要はあまりないようです.だからtabler.renderにasync:false
を加え、$().ready(function(){});
で判断します.4私が考えた4つ目の方法
そして、同期はどうして使えないのかと思っていました.えっ?彼はajaxリクエストなので、すべての非同期リクエストが終了したと判断する方法を見つけることができ、この
$(document).ajaxStop(function(){});
参照リンクを見つけました.