Nếu trong khi thực hiện một mục được thêm vào một mảng được hiển thị bằng cách sử dụng ngRepeat
, nó có vẽ lại tất cả các mục không?Liệu ngRepeat có đăng lại tất cả các mục sau khi thêm một mục mới?
Trả lời
Có, tất cả các mục được vẽ lại.
Thực tế, các mục cũng có thể được vẽ lại vào các thời điểm khác.
Ví dụ: Khi giá trị trong chỉ thị/mẫu mẹ được cập nhật. Trong vòng lặp '$ digest', Angular sẽ đánh giá cây phạm vi và điều này sẽ gây ra các thành phần con bị ảnh hưởng được vẽ lại. thông tin
thêm:
Cảm ơn bạn đã trả lời! Đây là câu hỏi được tiếp tục :) http://stackoverflow.com/questions/16968614/how-to-implment-a-load-more-pagination-in-angularjs-without-ng-repeat – redben
oops, theo bài viết này nó không vẽ lại mọi thứ http://www.bennadel.com/blog/2443-Rendering-DOM-Elements-With-ngRepeat-In-AngularJS.htm – redben
Đó là một điểm tốt! Để làm rõ - một phần tử DOM mới có thể không được thêm vào, nếu góc có thể xác định phần tử đích đã tồn tại. ** Tuy nhiên, ** các yếu tố thay đổi sẽ được đánh giá lại - điều này có thể dẫn đến các hoạt động tốn kém đang chạy lại. Ngoài ra, 'ng-repeat' trên một số loại dữ liệu nhất định sẽ luôn vẽ lại tất cả các phần tử - tức là http://stackoverflow.com/q/14969502/317180 –
Từ góc 1.2 chúng ta có 'ca khúc của' tùy chọn này sẽ ngăn chặn sự lặp lại từ tái dựng hình tất cả các mục.
Ví dụ:
ng-repeat="task in tasks track by task.id"
Kiểm tra lời giải thích này: http://www.codelord.net/2014/04/15/improving-ng-repeat-performance-with-track-by/
- 1. Làm cách nào để xóa tất cả các mục và thêm các mục mới vào UICollectionView?
- 2. Xcode - Tự động thêm tất cả các tệp trong một thư mục vào một mục tiêu
- 3. CMake - Tự động thêm tất cả các tệp trong một thư mục vào một mục tiêu?
- 4. OData substringof hoặc startswith trả lại tất cả các mục
- 5. Xcode - mặc định thêm tệp mới vào tất cả các mục tiêu
- 6. Nhận tất cả các mục từ một ArrayAdapter
- 7. Chỉ mục lại/Làm mới một SectionIndexer
- 8. Thêm tất cả các tệp trong một thư mục chưa được thêm vào trong lật đổ?
- 9. WP_Query() không trả lại tất cả các mục nhập
- 10. Tại sao tạo chỉ mục mới này cải thiện hiệu suất nhiều khi chỉ mục hiện tại bao gồm tất cả các cột trong chỉ mục mới?
- 11. Tất cả các vị trí có thể có của các mục đăng ký UninstallString ở đâu?
- 12. Excel Interop - Thêm trang tính mới sau khi tất cả các trang khác
- 13. cách xóa tất cả các tệp trừ ba tệp mới nhất trong một thư mục
- 14. Sau khi đăng nhập, tất cả các trang có phải là https không?
- 15. Liệt kê tất cả các chỉ mục
- 16. VS2005 "Thêm mục mới ..." hộp thoại - mục mặc định
- 17. .htaccess chuyển hướng tất cả các trang trong một thư mục sang miền mới
- 18. Liệt kê tất cả các thư mục trong thư mục
- 19. Tạo một thư mục con cho tất cả các thư mục trong thư mục
- 20. Hủy bỏ tất cả các file trong một thư mục
- 21. Git - Thêm tất cả các tập tin mới trong repo
- 22. Cách kiểm tra xem tất cả các mục sau có nằm trong danh sách không?
- 23. Phát lại các mục trong AVQueuePlayer sau
- 24. grep trong tất cả các thư mục
- 25. Đặt lại khóa chính thành 1 sau khi xóa tất cả dữ liệu
- 26. Tìm tệp trong tất cả các thư mục có thể?
- 27. Chọn tất cả các mục trong ListView
- 28. Mở tất cả các tệp trong một thư mục
- 29. Tại sao cardinality của một chỉ mục trong MySQL vẫn không thay đổi khi tôi thêm một chỉ mục mới?
- 30. Đường ray: Thêm chỉ mục sau khi thêm cột
Câu trả lời dứt khoát cho câu hỏi này là "Có.", Nhưng nó có thể không phải nộp vì SO không cho phép bạn nhập như vậy một câu trả lời ngắn. – Stewie
@Stewie Nó là tốt mà nó không. Bắt đầu với "Có". sau đó thêm lý do/giải thích và liên kết tới (các) tham chiếu. Hoặc, chỉ cần để lại "Có". trong một bình luận. Cũng tốt thôi. – user2246674
Bạn đúng (về giới hạn câu trả lời), nhưng câu hỏi không hỏi "Tại sao lại vẽ lại", nó chỉ hỏi rõ "Nó vẽ lại" và, như vậy, định dạng câu hỏi và độ dài không hiển thị bất kỳ độ nghiêng nào để hiểu những lý do sâu sắc hơn đằng sau hành vi ngRepeat. Đó là những gì "câu trả lời" của tôi có ý định chỉ ra. – Stewie