在代表中调用undelegate

时间:2012-10-10 15:46:28

标签: javascript javascriptmvc

我在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++){

有没有办法避免这个问题?

1 个答案:

答案 0 :(得分:0)

我找不到办法做到这一点,最后我使用bind作为'someparam'(这是外部监听器)并委托'some-other-param'作为内部。

这是删除未解决错误的解决方法。