Vì vậy, tôi tình cờ gặp những tháng này sau khi câu hỏi được hỏi khi tôi có những gì tôi nghĩ là một vấn đề tương tự. Hãy để tôi mô tả vấn đề của tôi và giải pháp của tôi (mà không liên quan đến một chỉ thị) và bạn có thể xem nó có áp dụng cho bạn hay không.
Tôi đang xây dựng một bảng. Trước tiên, tôi muốn yêu cầu thông tin cho tôi biết những hàng nào nằm trong bảng, sau đó tôi yêu cầu thêm thông tin điền vào các ô của bảng. Vì vậy, tôi muốn nhận được yêu cầu đầu tiên và thêm tất cả các hàng vào bảng, sau đó yêu cầu dữ liệu ô. Tôi muốn lấy dữ liệu ô theo hàng, nhưng trong một bảng lớn, điều này vẫn sẽ có nhiều yêu cầu. Khi tôi lấy lại dữ liệu ô cho hàng đó, tôi sẽ điền nó vào.
Điều này tạo ra hiệu ứng thực sự tuyệt vời, tất cả các ô có biểu tượng xoay đang chờ dữ liệu. NHƯNG, nó làm cho nó thực sự chậm. Trong Chrome, điều đó là tốt, trình duyệt sẽ làm chậm một số, nhưng nó sẽ tiếp tục hoạt động. Nhưng trong FF, nó sẽ nhận được sự phiền phức "kịch bản bận rộn hoặc không đáp ứng" messsage. Nếu bạn nhấp vào Tiếp tục, nó sẽ hoạt động tốt, nhưng nếu bạn nhấp vào "Hủy", bạn sẽ dừng tập lệnh và không có gì có hiệu quả.
Vì vậy, đây là giải pháp mà tôi đã đưa ra. Không yêu cầu chỉ thị. Tất cả những gì tôi đã làm là xây dựng dữ liệu cho mỗi hàng hoàn toàn, và chỉ sau đó thêm hàng vào biến được sử dụng bởi ng-repeat. Bằng cách này nó là MUCH nhanh hơn. Các hàng điền vào khi nó lấy lại tất cả dữ liệu, đồng hồ $ vẫn còn ở đó, nhưng bạn không kích hoạt tấn của chúng cùng lúc và bạn vẫn có thể thay đổi dữ liệu sau (trong bảng của tôi, bạn có thể chỉnh sửa từng ô của bảng để có thể thay đổi dữ liệu dễ dàng sau đó là quan trọng).
Hy vọng điều này sẽ giúp ai đó.
Bạn đã thử sử dụng phiên bản chưa được sửa đổi để bạn có thể xem thêm thông tin? –
gọi là ngRepeatWatch – Agzam
nó bắt đầu bằng cách lấy 80% thời gian, và từ từ xuống cấp, nhưng không bao giờ giảm xuống dưới 50% – Agzam