2014-01-17 78 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;