Domanda

Ho cercato per un po ', e sono abbastanza sicuro questa è una nuova domanda, e non una ripetizione, come suggerisce il titolo. :)

In sostanza, sto cercando di scoprire se c'è un evento subscribe-grado che KnockoutJS crea dopo un modello di rendering quando si utilizza qualcosa come modelli di jQuery.

mi piacerebbe utilizzare il built-in "AfterRender", ma ho scoperto che non si attiva se la matrice osservabile viene cancellata. Ho costruito questa demo per illustrare il problema: http://jsfiddle.net/farina/YWfV8/1/ .

Inoltre, mi rendo conto che avrei potuto scrivere un gestore personalizzato ... ma che sembra davvero inutile per quello che mi serve.

voglio solo un evento che gli incendi dopo le finiture dei modelli di rendering.

È stato utile?

Soluzione

Il mio collega in realtà risolto questo la scorsa notte con qualcosa che stavamo giocando con prima di andare a casa.

Così l'intero "problema" con gli eventi “AfterRender”, “afterAdd”, e “beforeRemove” è che si comportano in modo diverso in combinazione con un "foreach" vincolante. KnockoutJS è abbastanza bello da dirvi questo sul loro pagina , ma per qualsiasi motivo esso didn' t realmente affondare dentro per me fino a quando ho visto in pratica.

Ciò che funziona veramente è quello di scartare l'intero "foreach" vincolante e utilizzare "Dati" di Knockout nativi legano in questo modo:

data-bind="template: { name: 'item-template', data: items, afterRender: caller }"

Poi "AfterRender" funziona esattamente come suggerisce il nome.

Ho avuto l'impressione che non si poteva iterate la raccolta e rendere nuova interfaccia utente, senza foreach, ma questi esempi dimostrano che funziona.

Ho fatto un esempio per entrambi gli stili ViewModel perché ho a volte bisogno di uno o l'altro.

Grazie per l'aiuto Dan !!

Altri suggerimenti

Is beforeRemove è quello che stai cercando? Non sono sicuro di quale comportamento che si vuole raggiungere. Si prega di checkout questo esempio: http://jsfiddle.net/romanych/YWfV8/8/ E 'ciò che si vuole o no?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top