2013-03-07 17 views
6

W tym dokumencie: http://knockoutjs.com/documentation/foreach-binding.html iteracja uzyskuje się przy użyciu „foreach” Oprawa:Jak uzyskać dostęp rozmiar „foreach:” wiąże w nokaut js>

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

to możliwe, aby uzyskać dostęp do rozmiaru to wiązanie poprzez javascript/jquery?

Coś jak: alert('People size is '+people.size);

muszę wejść do wielkości w tym celu prostego sprawdzania oryginalności.

+0

kiedy/gdzie chcesz to wiedzieć? –

+0

@ DanielA.White ive zaktualizowałem pytanie –

+0

czy masz dostęp do modelu widoku w tym kontekście? –

Odpowiedz

12

Masz na myśli w samym foreoucie? Możesz zadzwonić do rodziców w pętli, a następnie uzyskać dostęp do zaobserwowania tablicę ponownie:

$parent.people().length 

lub gdziekolwiek związały swój widok modelu można nazwać:

people().length 

Albo można dodać obliczane obserwowalne do twojego modelu widoku. Wewnątrz kodu modelu widoku przypisz go do zmiennej o nazwie self, a następnie:

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

Potrzebuję uzyskać do niego dostęp zewnętrzny do pętli, ale może mogę przypisać $ parent.people(). Length do var? –

+0

Oto kilka opcji dla ciebie. –