次のシナリオを検討してください。
<ListView>
<ItemView>
<div class="ticket-id">136</div>
<div class="ticket-label">Hello everyone</div>
</ItemView>
<ItemView></ItemView>
... 500+ item views
</ListView>
各アイテム ビューには、対応するモデルがあります。ListView は、アイテムのコレクションを反復処理し、新しい ItemView を作成することによって、それ自体を作成します。
問題は、誰がアイテムのイベントを処理する必要があるかということです。
各 ItemView 自体にそれを配置するのは非常に論理的で便利です。このようにして、モデルにアクセスできます。しかし、大量のアイテムがあるため、ハンドラーの数が同じであることを意味します。これは問題になる可能性があります。もう 1 つの方法は、ListView レベルで処理することですが、この方法では、DOM 内を調べて、たとえばチケット ID をチェックし、モデルにアクセスできなくなります。
更新: 別の問題は、そのようなビューを正しく削除しています。ItemViews でイベント ハンドラーを使用する場合は、後でそれぞれを削除するためにそれらを保存する必要があります。それらに何もない場合-html文字列しか提供しないため、自動的にガベージ収集する必要があります。