关于DOM删除的Knockoutjs清理

时间:2014-01-17 14:54:39

标签: javascript knockout.js

我将在单页应用程序中使用knockoutjs,我担心即使应用了绑定的任何DOM元素,observable是否仍保留在内存中。 我认为我需要在我的应用程序中通过调用

来处理这个问题
ko.cleanNode(DOMElement)

在使用observables的每个DOM元素上,然后从文档中删除它们。 我只需要有人确认是这种情况

由于

1 个答案:

答案 0 :(得分:3)

CleanNode不会删除observable,它只是将它们从UI元素中取消绑定。您还需要删除对视图模型的任何引用,方法是将它们设置为null,以便对它们进行垃圾回收,例如:

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

//All your other stuff

ko.cleanNode(DOMElement);
myVM = null;