2013-03-07 33 views
6

Trong doc này: http://knockoutjs.com/documentation/foreach-binding.html lặp được thực hiện bằng cách sử dụng 'foreach' ràng buộc:Làm thế nào để truy cập vào kích thước của 'foreach:' ràng buộc trong loại trực tiếp js>

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

Có thể truy cập vào kích thước của này ràng buộc qua javascript/jquery?

Cái gì như: alert('People size is '+people.size);

tôi cần phải truy cập vào kích thước để làm một kiểm tra xác nhận đơn giản.

+0

khi nào/nơi nào bạn muốn biết? –

+0

@ DanielA.White ive đã cập nhật câu hỏi –

+0

bạn có quyền truy cập vào mô hình chế độ xem trong ngữ cảnh đó không? –

Trả lời

12

Bạn có ý nghĩa trong chính bản thân mình không? Bạn có thể gọi cha mẹ trong vòng lặp, sau đó truy cập vào mảng quan sát một lần nữa:

$parent.people().length 

Hoặc bất cứ nơi nào bạn đã bị ràng buộc mô hình tầm nhìn của bạn, bạn có thể gọi:

people().length 

Hoặc bạn có thể thêm một tính quan sát được cho mô hình chế độ xem của bạn. Bên trong mã mô hình chế độ xem của bạn, chỉ định mã này cho một biến có tên là tự, sau đó:

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

Tôi cần phải truy cập nó bên ngoài vòng lặp, nhưng có lẽ tôi có thể gán $ parent.people(). Chiều dài cho một var? –

+0

Đây là một vài tùy chọn cho bạn. –

Các vấn đề liên quan