2

バックボーンでは、次のようなものを使用してビューをインスタンス化することがよくあります...

new mysite.some.namespace.View();

次に、ビューに読み込まれ、イベントが DOM にアタッチされます。問題は、そのビューを削除してから再度インスタンス化することです。ビューを 2 回読み込むと、イベントが 2 倍になることがよくあります。どうすればこれを解消できますか? これは、el がアプリのラッパー要素に設定されているためですか?

これに対する簡単な解決策は何ですか?

4

2 に答える 2

3

コメントからすると、背骨の真っ直ぐで細い道から外れて雑草の中に迷い込んでしまったように聞こえます。適切なイベント処理には注意が必要です。より多くのコードを投稿すると、より詳細な提案を提供できますが、次のようになります。

  • .remove()ビュー インスタンスの操作が完了したら、呼び出していることを確認してください。すべての DOM イベント バインディングは自動的に削除されます。
  • 2 つのビュー インスタンスが同じ要素 ( ) を参照するような奇抜なことをしないでくださいthis.el
  • あなた自身を支持し、台無しにしないでくださいthis.el。指定しないでください。必要に応じてオブジェクトで使用tagNameしますが、ビューは A) そのビューに固有であり、B) ビューの外部の何か (通常はルーターまたは複合ビュー マネージャー) がアタッチされるまで DOM から切り離されている必要があります。extendel
于 2013-03-10T03:02:55.790 に答える
0

e.stopImmediatePropagation();イベントの伝播を防ぐために使用できます。

于 2013-03-10T02:11:39.157 に答える