2012-07-03 37 views
71

Tôi đang cố gắng hiển thị một số đánh dấu dựa trên giá trị của $index, tôi có thể hiển thị giá trị nhưng dường như tôi không thể sử dụng nó với liên kết if, tốt nhất là gì cách tiếp cận ở đây?

<!-- ko if: $index===0 --> 
    <div>some mark up here</div> 
<!-- /ko --> 

Trả lời

128

$ index là một hàm quan sát được và các hàm quan sát là các hàm. Khi bạn sử dụng các quan sát trong một biểu thức, bạn phải sử dụng biểu mẫu() để truy cập giá trị.

<!-- ko if: $index() === 0 --> 
+1

sắp xếp, cảm ơn! – user1255162

+0

cảm ơn rất nhiều! –

11

Từ $ index knockout bindings page

(chỉ có sẵn trong các ràng buộc foreach)

Đây là chỉ số zero-dựa trên các mục nhập mảng hiện tại được trả lại bởi một foreach ràng buộc. Không giống như các thuộc tính ngữ cảnh ràng buộc khác, Chỉ mục $ là một quan sát và được cập nhật bất cứ khi nào chỉ mục của mục thay đổi (ví dụ: nếu các mục được thêm vào hoặc bị xóa khỏi mảng).

Ví dụ

<div data-bind="foreach: details.additionalDetails"> 
    <!-- ko if: $index() !== 0 --> 
     <span> | </span> 
    <!-- /ko --> 
     <span data-bind="text: name"></span> <span data-bind="text: value"></span> 
</div> 

Kết quả trong

Model #: UAI5021 | Catalog #: UIOY786 
Các vấn đề liên quan