tl; dr :(テーブルのセルとして)バックボーンビューがたくさん(現時点では100以上、場合によっては1000/2000以上)あるのは重すぎるのではないかと思います。
私が取り組んでいるプロジェクトは、計画ビューを中心に展開しています。1日の6時間をカバーするユーザーごとに1つの行があり、各時間は15分で4つのスロットに分割されます。この計画は、スロットをクリックしたときに「予約」を追加するために使用され、正しいスロットのホバリングを処理する必要があります。また、予約ができない場合も処理する必要があります。ユーザーが「使用できない」スロットをクリックしないようにします。
スロットをクリックできない理由はたくさんあります。現時点でユーザーが利用できないか、ユーザーが予約中です。または、アプリは2つの予約の間に遅延スロットを「強制」する必要があります。予約(div)はスロット(テーブルのセル)にレンダリングされ、ディメンションを操作することで、適切な数のスロットをホバリングします。
この画面はすべてバックボーンで処理されます。そのため、ホバーしているスロットごとに、ここで予約できるかどうかを確認する必要があります。現時点ではdata
、スロットの属性をいじってこれを使用しています。予約オブジェクトが追加されると、カバーされるスロットは「(とりわけ)予約オブジェクト(バックボーンビューオブジェクト)で拡張されます。
しかし、場合によっては、今はよくわからず、混乱し、予約ビューが削除されたときに、スロットが「クリーンアップ」されません。前のスロットはclass
正しくリセットされません。それはおそらく私が間違ったかひどくしたことですが、これはさらに重くなるでしょう。ここでは別のクラスのバックボーンビューを使用する必要があると思いますが、ビューオブジェクトのスロット数とその数が多くなり、パフォーマンスの問題が発生する可能性があります。私はjsperfについてのマッシュを知らないので、その電車に飛び乗る前にいくつかのフィードバックが欲しいです。これを行う方法に関する他のアドバイスも大歓迎です。
御時間ありがとうございます。これが十分に明確でない場合は、教えてください、言い換えてみます。