Tại sao khi tôi cố gắng sử dụng knockout.js để ràng buộc một số văn bản bằng cách sử dụng $ index, tôi nhận được mã của một hàm thay vì một số?
<tbody data-bind="foreach: MyList">
<tr>
<td><span data-bind="text: $index + 1"></span></td>
</tr>
</tbody>
Thay vì nhận được 1, 2, 3 vv, tôi có được điều này:
Bạn có thể nhìn thấy, bởi ký tự cuối cùng trong hình trên, chỉ số của tôi về zero là được thêm vào 1. Nếu tôi xóa '+ 1' khỏi liên kết của mình, tôi nhận được 0, 1, 2 thay vì hàm.
Tôi làm cách nào để yêu cầu loại trực tiếp đánh giá biểu thức? Tôi có cùng một vấn đề khi tôi gửi biểu mẫu. Các trường chuỗi của tôi đang được gửi dưới dạng hàm thay vì giá trị.
Điều đó đã khắc phục. Tại sao tài liệu không có các ví dụ với parens? http://knockoutjs.com/documentation/binding-context.html – rboarman
Đây là vấn đề chung khi sử dụng các quan sát trong biểu thức. Nếu bạn đang sử dụng bản thân quan sát được, các ràng buộc sẽ chấp nhận một mình, nhưng khi bạn bắt đầu bao gồm các quan sát trong các biểu thức, bạn phải sử dụng biểu mẫu() để truy cập giá trị thực. Xem http://knockoutjs.com/documentation/observables.html để 'Đọc và viết các quan sát'. –
Cảm ơn sự giúp đỡ! – rboarman