Tôi có một ListComponent. Khi một mục được nhấp trong ListComponent, các chi tiết của mục đó sẽ được hiển thị trong DetailComponent. Cả hai đều xuất hiện trên màn hình cùng một lúc, vì vậy không có liên quan đến định tuyến.
Làm cách nào để cho DetailComponent biết mục nào trong ListComponent đã được nhấp vào?
Tôi đã xem xét việc phát ra một sự kiện lên đến cha mẹ (AppComponent) và yêu cầu cha mẹ đặt lựa chọnItem.id trên DetailComponent với một @Input. Hoặc tôi có thể sử dụng một dịch vụ được chia sẻ với các đăng ký có thể quan sát được.
CHỈNH SỬA: Tuy nhiên, việc đặt mục đã chọn thông qua sự kiện + @Input không kích hoạt DetailComponent, trong trường hợp tôi cần thực thi mã bổ sung. Vì vậy, tôi không chắc đây là một giải pháp chấp nhận được.
Nhưng cả hai phương pháp này dường như phức tạp hơn nhiều so với cách thực hiện của Angular 1 thông qua $ rootScope. $ Broadcast hoặc $ scope. $ Parent. $ Broadcast.
Với mọi thứ trong Angular 2 đều là một thành phần, tôi ngạc nhiên là không có thêm thông tin nào về giao tiếp thành phần.
Có cách nào khác / đơn giản hơn để thực hiện điều này không?