これは私のプロジェクト アーキテクチャの問題です。これは私の最初のバックボーン プロジェクトであり、おそらく何か間違ったことをしたのでしょう。
私が持っているルートコールバックのすべてのプロジェクトで:
myroute: function() {
this.currentView = new MyCustomView();
},
mysecondroute: function() {
this.currentView = new MySecondView()
},
//...
したがって、すべてのルート コールバックで、いくつかのビューをインスタンス化します。このビューには、render メソッドを呼び出す initialize メソッドがあります。events: {}
同じビューがインスタンス化されるたびに、すべてのビュー イベント (で宣言されている) が「バインド」されることを除いて、これは機能します。そのため、同じルートに 2 回アクセスすると、このルートに対応するビューのイベントが 2 回発生します...
おそらく、すべてのルート呼び出しで新しいビューをインスタンス化する必要がありますが、どうすればこれを行うことができますか? つまり、基準は何ですか?たぶん、現在のビューを何らかの形でアンロードする必要があります-これを行う方法はありますか?