如何从整个圆顶中删除knockoutjs绑定

时间:2013-04-05 14:48:06

标签: javascript binding knockout.js

我已经建立了一个使用淘汰赛的页面,因为它过于繁琐,而且效果惊人。

导航发生时我的问题出现了: 页面加载 - 效果很好 用户导航 - 效果很好 用户按下后退按钮 - 原始分页符

在我看来,一旦页面返回到使用后退按钮,原始绑定仍然存在,然后页面下载其数据调用ko.applyBinding,导致绑定然后应用两次打破页面。

如何删除原始绑定,我需要将页面绑定到新下载的数据,而不是导航前可用的数据。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

以下是来自https://stackoverflow.com/a/13459885/989516

的一个想法
ko.unapplyBindings = function ($node, remove) {
    // unbind events
    $node.find("*").each(function () {
        $(this).unbind();
    });

    // Remove KO subscriptions and references
    if (remove) {
        ko.removeNode($node[0]);
    } else {
        ko.cleanNode($node[0]);
    }
};