# Giải phẫu ứng dụng Angular

Trong Angular, một ứng dụng là một tập hợp những component _(thành phần)_ và một vài service _(dịch vụ)_ cung cấp chức năng trên những component đó. Vậy, câu hỏi tiếp theo rõ ràng là một component của Angular là gì ?

![](https://1891111724-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LG1F7jUlJI3R9tpWVVh%2F-LG1FHL_amYNNemLO5y_%2F-LG1FK7cghVHrcaCcrVN%2Finside-angular-app.png?generation=1530119939752007\&alt=media)

Mỗi một component bao gồm một mẫu HTML cái mà sẽ render ra một “frame” giao diện người dùng. Thêm vào đó là một Class để code những gì liên kết với view. Class chứa những thuộc tính, những phần tử dữ liệu có sẵn để phục vụ cho các view và các phương thức thực hiện những hành động cho view, chẳng hạn như sự phản hồi của một nút bấm. Một component cũng có metadata cung cấp thêm những thông tin của component cho Angular. Metadata này để xác định Class là một Angular component. Vậy tóm lại, một component sẽ hình thành từ một view xác định từ một mẫu HTML, Code xử lý sẽ được định nghĩa với một Class và thông tin bổ xung cho Class thì được xác định bằng metadata. Chúng ta sẽ tìm hiểu chi tiết hơn trong những bài sắp tới.

![](https://1891111724-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LG1F7jUlJI3R9tpWVVh%2F-LG1FHL_amYNNemLO5y_%2F-LG1FK7fyCg7_bEYLY3q%2Finside-component.png?generation=1530119939456711\&alt=media)Chúng ta đã biết một component là gì, làm thế nào để ghép chúng lại với nhau để trở thành một ứng dụng? Chúng ta sẽ có một định nghĩa Angular modules (mô-dun). Angular modules giúp chúng ta tổ chức ứng dụng Angular của chúng ta thành một khối gắn kết các chức năng. Mỗi ứng dụng Angular có ít nhất một module, module này gọi là **Root Angular Module** (mô-dun gốc). Một ứng dụng thực tế thì có thể có nhiều hơn một module. Chúng ta sẽ hiểu rõ hơn về Angular module dọc theo hành trình của chúng ta.

![](https://1891111724-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LG1F7jUlJI3R9tpWVVh%2F-LG1FHL_amYNNemLO5y_%2F-LG1FK7h6Z5skU78rM6y%2Finside-module.png?generation=1530119935229448\&alt=media)
