我在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++){
有没有办法避免这个问题?
答案 0 :(得分:0)
我找不到办法做到这一点,最后我使用bind作为'someparam'(这是外部监听器)并委托'some-other-param'作为内部。
这是删除未解决错误的解决方法。