Ho trovato che in teoria ko.cleanNode()
dovrebbe rimuovere i collegamenti dal nodo se chiamato, ma in this example non sembra funzionare.Come rimuovere i binding dal nodo in knockout?
Javascript:
// View model
var vm = {
name: ko.observable("John")
}
// Node to be added
var node = $("<div/>",{
id: "testing",
'data-bind' : "text: name()"
});
// First addition to body
$("body").append(node);
// Apply bindings
ko.applyBindings(vm,$("#testing")[0]);
// Remove
ko.cleanNode($("#testing")[0]);
$("#testing").remove();
$("body").append(node);
Risultato: Si può vedere in jsFiddle, quel nodo ancora ha allegato vincolante (listener di eventi).
I binding KO standard non tengono traccia degli ascoltatori di eventi come tali. 'cleanNode' rimuove i" binding interni ". Vedi http://stackoverflow.com/a/15069509/2246674 - Ho trovato la cosa migliore per giocare semplicemente con KO perché vuole essere giocato con. – user2246674