Usando KnockoutJS con nodos separados

Lo que quiero hacer es separar algunos nodos utilizando el método de separación de jQuery, actualizar mi ViewModel, volver a adjuntar mis nodos y actualizar los valores.

es posible?

Aquí está unviolín completo de lo que estoy buscando. Básicamente, me gustaría poder ir de izquierda a derecha, hacer clic en separar, actualizar y adjuntar y tener valores nuevos en los cuadros de texto.

ACTUALIZAR

Según la respuesta de RP, la mejor opción, suponiendo que se adapte a su caso de uso, es adjuntarla a la dom.oculto, actualice su viewmodel, y luego muestre sus nodos. Algo como esto funciona para mí:

<code>$("#updateAndAttach").click(function () {
    var junk = $("<div />").css("display", "none");
    junk.append(nodes);
    $("#home").append(junk);

    vm.a("AAA");
    vm.b("BBB");

    $(nodes).unwrap();
});
</code>

ACTUALIZACIÓN FINAL

Aquí está el código completo:

JavaScript

<code>$(function () {

    function ViewModel() {
        this.a = ko.observable("a");
        this.b = ko.observable("b");
    }

    var vm = new ViewModel();

    ko.applyBindings(vm, document.getElementById("home"));

    var nodes = null;

    $("#detach").click(function () {
        nodes = $("#home").children().detach();
    });

    $("#attach").click(function () {
        $("#home").append(nodes);
    });

    $("#update").click(function () {
        vm.a("AAA");
        vm.b("BBB");
    });
})();
</code>

HTML:

<code><div id="home">
    <input type="text" data-bind="value: a" />
    <input type="text" data-bind="value: b" />
</div>

<button id="detach">Detach</button>
<button id="update">Update</button>
<button id="attach">Attach</button>
</code>

Respuestas a la pregunta(3)

Su respuesta a la pregunta