Tôi đang hiển thị một khối HTML tương tự cho một số đối tượng hơi khác nhau. Họ là 90% giống nhau, nhưng mỗi người có một số quirks cụ thể mà yêu cầu quan sát thêm. Tôi muốn hiển thị từng mục tương tự trong một khối mẫu, nhưng tôi đang gặp sự cố với các đối tượng không xác định.JS loại bỏ: kiểm tra sự tồn tại của một quan sát được trong một liên kết IF
Về cơ bản, tôi muốn kiểm tra sự tồn tại của một đối tượng quan sát được trước khi hiển thị đối tượng đó trong mẫu.
Tôi cố gắng để làm một cái gì đó như thế này:
<div data-bind="foreach: blocks">
<h2 data-bind="text: normalHeader"><h2>
<p data-bind="text: normalText"></p>
<!-- ko if: specialText --><p data-bind="text: specialText"></p><!-- /ko -->
</div>
Vì vậy, nếu specialText không tồn tại (không chỉ là không có giá trị, nhưng không tồn tại ở tất cả) cho rằng lặp của blocks
, bỏ qua có điều kiện. Các lỗi tôi nhận được là:
Uncaught Error: Unable to parse bindings.
Message: ReferenceError: specialText is not defined;
Từ những gì tôi hiểu của Knockout của "nếu" ràng buộc, nó phải làm việc nếu đối tượng trả về bất kỳ loại giá trị giả như thế nào, như null hoặc không xác định, có nghĩa là nếu ràng buộc nên duyên dáng thất bại, mà nó chắc chắn không phải là.
Có cách nào để thực hiện công việc này không?
Tác phẩm này có vẻ thanh lịch nhất; Cảm ơn! – Jack
tuy nhiên, tất nhiên nó không thay đổi nếu tài sản xuất hiện, vì nó không quan sát được – mikus
nó không làm những gì mọi người thường muốn làm, "tất nhiên"? tốt nhất – pilavdzice