Tôi gặp vấn đề với chỉ thị ng-lặp góc. Hiện tại tôi đang làm việc trên một số dự án từ API tôi nhận được một danh sách các mục (một số lần nó có thể là 1k mục) và danh sách này sẽ được làm mới sau mỗi 5 giây (đó là giám sát dự án liên quan).ng-lặp lại với theo dõi bởi nhiều thuộc tính
Khi độ dài danh sách lớn hơn một chút, trang web trong khi hiển thị lại DOM có thể "chậm". Nó xuất hiện mà góc tái tạo toàn bộ DOM (nhưng 95% mục là như nhau!)
Một trong những cách tiếp cận có thể là đặt biểu thức "theo dõi" chẳng hạn như item.id. Nhưng ở đây có một vấn đề khác, tôi cũng muốn tái tạo các mục khi mô tả ví dụ đã được thay đổi bởi người dùng khác. Vì theo dõi bởi là biểu thức cho các thay đổi item.id trong item.description không cập nhật mục trong DOM.
Có cách nào để theo dõi qua nhiều thuộc tính? Có lẽ một số chức năng? Hoặc có thể so sánh bằng "tay"?
Bất kỳ ý tưởng, mẫu mã tôi sẽ đánh giá cao :)
CẬP NHẬT
những gì tôi phát hiện ra khi tôi đặt theo dõi bởi để item.id góc html không tái crete cho các hạng mục, chỉ cần cập nhật giá trị trong phần tử đã được tạo và có vẻ như là "nhanh hơn" rồi xóa và tạo. Trước đây tôi có một chút khác biệt.
FIX
Đối với những người đang tìm kiếm cho hiệu suất tốt hơn> 1k mục trong ng-lặp lại SỬ DỤNG theo dõi bởi item.id nó sẽ thúc đẩy hiệu suất của bạn;)
Bạn có thể sử dụng chức năng như 'theo dõi theo dõi (mục)', trong đó 'tracker()' là một hàm có thể nhìn thấy trong phạm vi lặp lại. Sau đó, một lần nữa "chậm" cũng có thể được gây ra bởi việc có chế độ xem tạo hàng nghìn đồng hồ (ví dụ: 1k hàng, ba thuộc tính cho mỗi hàng = 3000 đồng hồ). Bạn có thể cần phải xác định vấn đề chính xác hơn và/hoặc suy nghĩ lại một số chi tiết. –
Và đồng hồ sẽ kích hoạt ngay cả khi 'track by' không vẽ lại bất kỳ hàng nào trong DOM của bạn. –
Điều gì sẽ nhanh hơn: toàn bộ DOM tái tạo hoặc so sánh các mục theo cách thủ công? – qwetty