RxJS Subject và BehaviorSubject khác nhau như thế nào? Nêu ví dụ ứng dụng thực tế trong quản lý trạng thái chia sẻ dữ liệu giữa các component không có quan hệ cha con.
1. Sự khác biệt cốt lõi
- Subject:
- Không lưu trữ giá trị hiện tại (không có trạng thái ban đầu).
- Khi một subscriber mới đăng ký (
subscribe()), nó sẽ chỉ nhận được các giá trị được phát ra sau thời điểm đăng ký đó. Các giá trị trước đó bị bỏ qua.
- BehaviorSubject:
- Bắt buộc phải khởi tạo với một giá trị ban đầu.
- Lưu trữ trạng thái hiện tại (latest value).
- Khi một subscriber mới đăng ký, nó sẽ ngay lập tức nhận được giá trị hiện tại gần nhất, sau đó mới tiếp tục nhận các giá trị tiếp theo.
2. Ứng dụng thực tế trong Shared Service (State Management nhẹ)
Khi các component không cùng cây phân cấp muốn chia sẻ trạng thái (ví dụ: Trạng thái giỏ hàng hoặc thông tin User đăng nhập), ta dùng một Service trung gian chứa BehaviorSubject.
Nội dung chi tiết câu trả lời, phân tích kỹ thuật chuyên sâu, mã nguồn minh họa và các trường hợp ngoại lệ chỉ dành riêng cho học viên Unicode E-learning...
Để mở khóa toàn bộ giải pháp chi tiết và tài liệu hướng dẫn phỏng vấn, vui lòng nâng cấp tài khoản hoặc tham gia gói Learning Pass để truy cập không giới hạn.
// Mã nguồn và kiến trúc giải pháp bị ẩn đối với tài khoản chưa nâng cấp...
Làm Chủ Phỏng Vấn & Nâng Cao Trình Độ Chuyên Nghiệp
Hệ thống khóa học thực chiến chuẩn Enterprise giúp bạn tự tin chinh phục mọi kỳ phỏng vấn kỹ thuật và thăng tiến thu nhập.
Tải Tuyển Tập 100+ Câu Hỏi Phỏng Vấn Chuyên Sâu (PDF)
Bộ tài liệu chuẩn Senior do Unicode Academy tuyển chọn & biên soạn, hỗ trợ tải về định dạng PDF chuẩn in ấn.
Cần Mentor Phỏng Vấn Thử 1-1 & Tối Ưu CV?
Mô phỏng phỏng vấn kỹ thuật thực tế 1-1 qua Google Meet, nhận xét chi tiết điểm mạnh/yếu và sửa CV trực tiếp cùng giảng viên Unicode.
Kiểm Tra CV Chuẩn ATS Miễn Phí
Tải CV của bạn lên để hệ thống AI rà soát từ khóa kỹ năng, định dạng và tính điểm chuẩn nhà tuyển dụng.
Câu hỏi angular liên quan cùng chủ đề
- Làm thế nào để tối ưu hóa hiệu năng và quản lý Dependency Injection trong dự án Angular? Entry
- Làm thế nào để tối ưu hóa hiệu năng và quản lý Component Lifecycle trong dự án Angular? Entry
- Hãy giải thích chi tiết cơ chế hoạt động của RxJS Observables trong lập trình Angular. Junior
- Hãy giải thích chi tiết cơ chế hoạt động của Angular CLI trong lập trình Angular. Junior
- Sự khác biệt cốt lõi giữa @Input() truyền thống và Signal Input mới ra mắt trong Angular là gì và khi nào nên sử dụng loại nào? Junior


