# Giới thiệu

Thiết kế giao diện người dùng của chúng ta đôi khi quá phức tạp, và bắt chúng ta phải nghĩ đến giải pháp chia nhỏ chúng thành nhiều components nhỏ hơn. Hoặc có một số phần được sử dụng lại ở nhiều nơi. Trong chương này, chúng ta sẽ xem cách làm thế nào để xây dựng những component thiết kế để có thể lồng vào trong component khác và chúng ta cũng khám phá cách thiết lập giao tiếp giữa component lồng bên trong và component cha của nó. Bởi vì mỗi một thành phần đều được đóng gói, chúng ta sẽ chỉ ra những input và những output cụ thể để component có thể giao tiếp với nhau.

Có hai cách để sử dụng một component và hiển thị template của nó:

1. Chúng ta sử dụng component như một directive, chúng ta đã tìm hiểu về kỹ thuật này.
2. Ngoài ra, chúng ta có thể sử dụng một component như một địa chỉ định tuyến, chúng ta sẽ tìm hiểu thêm về kỹ thuật này ở chương sau.

Cả hai cách này đều có điểm chung là chia nhỏ một view (khung nhìn) thành nhiều component nhỏ hơn để dễ quản lý. Tuy nhiên vì chúng ta chưa tìm hiểu về routing nên trong giới hạn chương này, chúng ta sẽ tìm hiểu về cách giao tiếp component lồng nhau (Nested Components) như một directive.

Hãy cùng nhau xem lại kiến trúc của ứng dụng trước khi chúng ta đi tiếp.
