解决方法
直接从
knockout docs:
“覆盖外部数据的清理
删除元素时,Knockout运行逻辑来清理与元素相关联的任何数据.作为这个逻辑的一部分,如果jQuery加载在你的页面中,Knockout会调用jQuery的cleanData方法.在高级情况下,您可能希望防止或自定义应用程序中如何删除此数据. Knockout公开了一个函数,ko.utils.domNodeDispose.cleanExternalData(node),可以被覆盖以支持自定义逻辑.例如,为了防止cleanData被调用,可以使用空函数来替换标准的cleanExternalData实现:
ko.utils.domNodeDisposal.cleanExternalData = function () { // Do nothing. Now any jQuery data associated with elements will // not be cleaned up when the elements are removed from the DOM. };
最近我因为无休止的调试会话而疯狂.
我看到这个问题,希望我的答案能为那些仍然在寻找的人提供一个更直接的解决方案.