2013-03-07 9 views
6

In questo documento: http://knockoutjs.com/documentation/foreach-binding.html iterazione si ottiene utilizzando il 'foreach' vincolante:Come accedere dimensione del 'foreach:' vincolante nel knockout js>

<tbody data-bind="foreach: people"> 

E 'possibile accedere alla dimensione di questo legame via javascript/jquery?

Qualcosa di simile: alert('People size is '+people.size);

ho bisogno di accedere alla dimensione, al fine di fare un semplice controllo di convalida.

+0

quando/dove vuoi saperlo? –

+0

@ DanielA.White ha aggiornato la domanda –

+0

hai accesso al modello di vista in quel contesto? –

risposta

12

Intendi all'interno della stessa? È possibile chiamare il genitore nel circuito, quindi accedere nuovamente la matrice osservabile:

$parent.people().length 

o dovunque voi avete legato il vostro modello di visualizzazione, è possibile chiamare:

people().length 

Oppure si può aggiungere un calcolato osservabile al tuo modello di vista. All'interno del codice del modello di visualizzazione, assegnarlo a una variabile denominata self, quindi:

var peopleCount = ko.computed(function() 
{ 
    return self.people().length; 
} 
+0

Ho bisogno di accedervi esterno al ciclo, ma forse posso assegnare $ parent.people(). Length a una var? –

+0

Ecco un paio di opzioni per te. –

Problemi correlati