Javascript 如何清理剩余的美元手表
我们将angularJS web组件与jqxGrid进行互操作。当用户在单元格中编辑时,我们将创建一个用angular编写的自定义typeahead编辑器。当编辑器被销毁时,我注意到我的$watchs数组没有返回到以前的值 我正在为我的指令创建一个新的isolateScope,然后对其进行编译,然后在需要编辑器时将其附加到JQX传递给我的DOM元素中: var scope=$rootScope.$newtrue; var customEditor=$compiledirectivescopeJavascript 如何清理剩余的美元手表,javascript,angularjs,memory-leaks,Javascript,Angularjs,Memory Leaks,我们将angularJS web组件与jqxGrid进行互操作。当用户在单元格中编辑时,我们将创建一个用angular编写的自定义typeahead编辑器。当编辑器被销毁时,我注意到我的$watchs数组没有返回到以前的值 我正在为我的指令创建一个新的isolateScope,然后对其进行编译,然后在需要编辑器时将其附加到JQX传递给我的DOM元素中: var scope=$rootScope.$newtrue; var customEditor=$compiledirectivescope 为
为了清理这些$watch,我必须做些什么?很可能是您通过
var scope = $rootScope.$new(true);
使用编辑器完成jqxGrid后,jqxGrid不会销毁
要清理手表,您只需确保拨打了
scope.$destroy();
棘手的部分是确定何时执行销毁调用;我认为jqxGrid应该引发一些事件,比如你可以订阅的beforeEdit和afterEdit;$destroy调用应该在afterEdit事件的事件处理程序中进行。以下是有效清理监视程序的方法。
希望这有帮助。就是这样!非常感谢。