2013-07-18 33 views
49

Tôi cần hiển thị $index+1 trong một bảng.

Nếu tôi chỉ cần sử dụng $index tất cả các yếu tố sẽ bắt đầu từ 0, tôi cần phải bắt đầu từ 1.

Dưới đây là tài liệu của loại trực tiếp: http://knockoutjs.com/documentation/foreach-binding.html

Trong đó bạn có thể tìm thấy ví dụ này:

<h4>People</h4> 
<ul data-bind="foreach: people"> 
    <li> 
     Name at position <span data-bind="text: $index"> </span>: 
     <span data-bind="text: name"> </span> 
     <a href="#" data-bind="click: $parent.removePerson">Remove</a> 
    </li> 
</ul> 
<button data-bind="click: addPerson">Add</button> 

Vì vậy, nó sẽ hiển thị như sau:

dân

Tên ở vị trí 0: Bert Di

Tên ở vị trí 1: Charles Di

Tên ở vị trí thứ 2: Denise Di

tôi thực sự cần điều này là chỉ dành riêng cho mục đích hiển thị .

Tên ở vị trí 1: Bert Di

Tên ở vị trí thứ 2: Charles Di

Tên ở vị trí 3: Denise Di

Tôi cố gắng này không thành công <span data-bind="text: ($index + 1)"> </span>

+6

Hãy thử $ index() + 1 –

+0

thể trùng lặp của [ Knockout không đánh giá một biểu thức khi sử dụng $ index trong một ràng buộc] (http://stackoverflow.com/questions/11302338/knockout-is-not-evaluating-an-expression-when-using-index-in-a-binding) – nemesv

Trả lời

117

Chỉ số $ là một quan sát được. Vì vậy, bạn cần phải sử dụng nó theo cách này:

<span data-bind="text: ($index() + 1)"> </span> 
Các vấn đề liên quan