2014-01-17 52 views
3

我将在单个页面应用程序中使用knockoutjs,并且我担心观察对象是否仍保留在内存中,即使绑定被应用到的任何DOM元素都被删除。 我想的是,我需要在我的应用从文档删除它们之前,处理这个问题,通过使用可观察每个DOM元素上调用Knockoutjs清理DOM删除

ko.cleanNode(DOMElement) 

。 我只是需要有人来确认这种情况

感谢

回答

3

CleanNode不会删除观测,它只是解除绑定他们的UI元素。您还需要删除对视图模型的任何引用,方法是将它们设置为空以便将它们垃圾收集,如下所示:

var myVM = new myViewModel(); 
ko.applyBindings(myVM, DOMElement); 

//All your other stuff 

ko.cleanNode(DOMElement); 
myVM = null;