Volver a enlazar knockout js cuando siento la necesidad de volver a dibujar html con los enlaces

Estoy en una situación donde voy a construir un div contenedor de forma dinámica que tiene otros elementos html dentro de la servidumbre a mi knockout modelo de vista. Funciona hasta el punto de que yo llame a un método en mi knockout ver el modelo que necesita redibujar toda la div. Después de la actualización knockout deja de funcionar.

por ejemplo:

 calendar += ('<div class="month-nav-container"><div class="nav-prev" data-bind="click:          $root.showPreviousMonthOnPrevMonthBtnClick" ><<<</div><span class="month-name-calendar">' + monthNames[month] + '</span><div class="nav-next" data-bind="click: $root.showNextMonthOnNextMonthBtnClick" >>>></div></div>');

Voy a construir mi calendario de control, como por supuesto, esto es sólo una parte de ella, pero espero que la Idea general.

mi knockout de vista del modelo de método:

self.showPreviousMonthOnPrevMonthBtnClick = function () {
    alert("prev");
    var $calendar = $("#calendar");
    $calendar.empty();

    //////previous month
    if (self.calendarDisplayDate.month == 0) {
        $calendar.calendarWidget({ month: 12, year: self.calendarDisplayDate.year - 1 });
    } else {
        $calendar.calendarWidget({ month: self.calendarDisplayDate.month - 1, year: self.calendarDisplayDate.year});            
    }

}

Sobre mi carga de la página que voy a construir mi calendario div, entonces yo llamo ko.applyBindings() para mi modelo de vista y funciona. Pero cuando hago clic en el botón que las calles de mi mes anterior método que necesita redibujar calendario de acuerdo a la derecha mes, octavos de final deja de funcionar. Yo redibujar todo el div padre que sostiene a todos los octavos de final de enlaces. ¿Alguien sabe la solución a mi problema. Necesito volver a dibujar el div que tiene KO enlaces dentro de lo que tal vez lo que estoy buscando es algún tipo de enlaces método de actualización de knock-out ?

Es un poco difícil responder a su pregunta sin una repro. De cualquier manera, suena un poco cutre que tiene una función de replantearse las cosas. Un enlace personalizado me suena más a lo que usted necesita, que pueden hacer que el problema desaparezca por completo. Por ejemplo algo así.

OriginalEl autor Alan Budzinski | 2013-09-17

2 Kommentare

  1. 0

    Asegúrese de que todos los elementos html que necesita actualizado unen a la observables funciones ie observablefoo y no observablefoo()

    Yo lo tengo así, pero esta no es la causa del problema

    OriginalEl autor Nikos

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea