【发布时间】:2013-12-27 05:58:03
【问题描述】:
我有一个使用淘汰赛绑定的 div。例如,
<div id='my_div'>
<span data-bind="text: dialog_body"></span>
</div>
所以,淘汰赛绑定是:
var viewmodel=function(){
this.dialog_body = 'Some text';
};
ko.applyBindings(new viewmodel(),$("#my_div")[0]);
现在的问题是:如果我打电话给$('#my_div').remove();,这是否也会删除淘汰赛绑定,还是我应该担心内存泄漏?
【问题讨论】:
-
jQuery 不知道 KO,KO 也不关心 jQuery。请参阅cleanNode as discussed here 或here。但是,如果您将 DOM 构造为仅从可观察对象上的 KO 绑定(if/foreach/template/views-in-Durandal)修改,那么所有内容都应该自动清理。
-
谢谢,我无法让 cleanNode 工作。 html 和 viewmodel 都是由 jquery-ui 动态生成的。因此,我尝试在绑定之前清理节点,但如果还没有绑定,则会引发错误。
标签: javascript jquery html knockout.js