SUBSCRIBE NEWSLETTERS

Xem nhiều nhất

Tìm hiểu về NgModule trong Angular

Tìm hiểu về NgModule trong Angular

Ngày đăng 11/30/2020
3 phút đọc
271 lượt xem
Duclux.Com
Tác giảDucLux.Com

NgModule là một trong những thành phần cốt lõi của Anguar. Nó cũng thành phần duy nhất và khác biệt so với các lib/fw khác, kể cả tiền nhiệm của nó, AngularJs. Mặc dù trên document của angular có thể hiện khá đầy đủ về NgModule, tuy nhiên mình cho là nó vẫn là thứ khó hiểu đối với các bạn mới tiếp cận Angular. Cho nên mình làm bài viết này để giới thiệu tới các bạn một số nội dung cơ bản như: NgModule là gì, Sử dụng NgModule trong Angular như thế nào, chúng ta có cần NgModule không ?

NgModule trong Angular là gì ?

NgModules configure the injector and the compiler and help organize related things together.

Trong document của angular, dòng đầu tiên đã giới thiệu khá đầy đủ về NgModule. Mình mô tả lại dài dòng hơn một tí thế này, NgModule dùng để khai báo, tổ chức và chia sẻ các thành phần trong Angular như components, services, pipes, directives... Nó là một decorator, dùng để "trang trí" cho class angular module nào đó.

Có thể bạn đã biết, Angular sử dụng class để triển khai các chức năng chính. Việc sử dụng NgModule như là một IoC container để triển khai nguyên tắc singleton trong Angular.

Các thành phần cơ bản trong Angular NgModule

1. import:

Dùng để khai báo, sử dụng các module khác, và chỉ sử dụng được các thành phần mà module khác export ra.

2. declarations:

Dùng để khai báo các thành phần sẽ dùng ở trên template như component, directive, pipe.

3. providers:

Dùng để khai báo các service, các service này dùng được trong nội bộ module và các module con. 

Tip: Bạn cũng có thể khai báo providedIn: 'root' trong decorator Injectable của service để sử dụng service trong toàn bộ app.

4. entryComponents:

Dùng để khai báo các dynamic component như dialog, modal, tooltip, popover...

5. export:

Dùng để chia sẻ các thành phần ra ngoài, khi các module khác import module này có thể sử dụng chúng.

Chúng ta có cần sử dụng NgModule không? 

Câu trả lời là bắt buộc khi sử dụng Angular cho tới thời điểm hiện tại. Mình không thích nó lắm, nó quá phiền hà và rối rắm. Nó gây khó khăn cho việc implement composition component. Điều mà react hiện tại đang làm rất tốt. Có thể tương lai Angular sẽ bỏ nó hoặc không. Nhưng cho tới hiện tại muốn sử dụng Angular phải hiểu về nó.

Tác giả
Cùng tác giả