Javascript控制器加载/卸载

时间:2015-08-23 08:02:57

标签: javascript jquery

这些问题中的大多数都没有非常全面的答案。

在我的应用程序中说,我决定调用当前加载的任何控制器,例如$app.ctrl

现在当我将$app.ctrl设置为null时,控制器创建的任何事件怎么样?

例如,我的应用程序可能会加载这样的控制器:

loadController : function(controller){
    $app.ctrl = null;
    var s = document.createElement('script');
    s.setAttribute('src', $app.ctrl_path+controller);
    s.className = 'ctrl';
    s.onload= function(){
        $app.ctrl = $ctrl;
        $app.ctrl.initialize();
    };
    document.body.appendChild( s );
},

如何清理事件和实例化插件?如果我的控制器使用jQuery插件和添加事件监听器和sech做了很多令人讨厌的事情怎么办? GC真的会破坏这些事件,还是暗中潜伏,等待造成严重破坏:(太惊讶了,他们这样做)

var $ctrl = {

    initialize : function(){
        $(window).on('resize',function(){
            alert('you resized');
        });
    }

};

那么解决方案是什么?我的$app对象应该为事件定义setter和getter,为控制器定义一个干净的方法吗?然后控制器诽谤列表目标及其事件?很困惑。

我认为2015年的javascript在每个现代浏览器中都毫无价值,这是可悲的。

1 个答案:

答案 0 :(得分:2)

解决方案是使用program SO32160057_123456; var UInt32var: UInt32 = 0; begin if UInt32var > 123456 then ; // line 7 if UInt32var > -123456 then ; // line 8 end. 来调用de-initialize函数:

参考:

https://api.jquery.com/off/