He encontrado que, en teoría, ko.cleanNode() debe quitar los enlaces del nodo si se llama, pero en este ejemplo no parecen funcionar.

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);

Resultado: Se puede ver en jsFiddle , que el nodo tiene todavía adjunto de unión (event listener).

Estándar KO enlaces no hacen un seguimiento de los detectores de eventos como tal. cleanNode elimina los «enlaces internos». Consulte stackoverflow.com/a/15069509/2246674 – he encontrado que lo mejor es simplemente jugar con KO, ya que quiere jugar con el.

OriginalEl autor skmasq | 2013-08-13

1 Comentario

  1. 8

    Knock-out es la eliminación de los octavos de final relacionado con los enlaces del nodo, pero cuando lo hace, no se restablece el nodo a valores vacíos. Simplemente deja de actualizar el nodo de forma automática desde la perspective, vm.

    http://jsfiddle.net/BrsmC/2/

    Tomar la línea 21 de la actualización del violín.

    ko.cleanNode($("#testing")[0]);

    Usted debe ver cuando se ejecuta, el nombre es ahora ‘imnotbinding’.

    Gracias, no pensar que por decir.
    ¿cleanNode Trabajo si se pasa de un elemento que contiene múltiples, anidada enlaces, o se requiere que el nodo y enlace de sí mismo?

    OriginalEl autor Johnny Tops

Dejar respuesta

Please enter your comment!
Please enter your name here