0

jsmvcのメインで$.route.delegate('someparam'、...)をリッスンします。起動したら、ロードするコントローラーを決定し、古いコントローラー(使用可能な場合)を削除します。この問題も$を使用します。コントローラーの.route.delegate('some-other-param')、問題は、コントローラーが破棄されたときに$ .router.undelegate('some-other-param')を試行することで、エラーが発生します。

    **delegate is undefined:**
file: delegate.js
73:    if(event.batchNum && delegate.batchNum === event.batchNum){

コードで確認できる限り、問題は、デリゲートにクエリを実行するforループ内で委任解除を呼び出しているためです。

// for each delegate
            for(var i =0; i < len; i++){

この問題を回避する方法はありますか?

4

1 に答える 1

0

これを行う方法が見つかりませんでした。最終的に、「someparam」(外部リスナー)にbindを使用し、内部「some-other-param」にデリゲートを使用しました。

これは、削除が未定義のエラーの回避策です。

于 2012-10-22T16:26:22.153 に答える