Những cái mới trong Angular 7

Mở đầu

Ngày nay công nghê thay đổi hàng ngày, mỗi sáng ngủ dậy đọc những tờ báo công nghệ lại thấy hàng tá công nghệ mới ra đời. Cái frame-work phục vụ cho việc lập trình web cũng vậy nó cũng biến động phát triển hàng ngày để bắt kịp xu thế, Angular cũng vậy được cập nhật liên tục để theo kịp các framework front-end khác. Mới đây angular 7 đã được ra mắt. Công đồng bàn tán rằng chưa kịp đọc doc của bản 5 6 đã đến bán 7 rồi. Bài viết bài mình sẽ tông hợp nhưng thay đổi quan trọng trong angular7.

Cập nhật lên angular 7

Nếu bạn đang ở ứng dụng angular lên v6 thì bạn chit cần sử dụng câu lệnh sau để cập nhaajtleen phiên bản 7

ng update @angular/cli @angular/core

Việc cập nhật có vẻ sảu ra nhanh chóng và rất thuận lợi.

LI Prompts

Nhóm Angular đã liên tục tập trung vào việc cải thiện các công cụ có sẵn cho developer và các lời nhắc CLI mới không khác nhau. Thông thường khi bạn chạy các lệnh như ng new hoặc ng add, nó chỉ chạy lần đầu. Khi mà bạn quên các option đi kèm hoặc nhớ nhầm thì có lẽ chúng ta phải xóa đi chạy lại hoặc hủy lệnh đó. Với angular7 CLI đã giúp developer rất nhiều qua các gọi ý. Sau khi cạp nhật lên angular7 bạn hãy thử sử dụng ng new + enter bạn sẽ thấy comman line sẽ hiển thị nôi dung tương tự như sau

Angular Elements

Chỉ xảy những thay đổi nhỏ ở các element

CDK

ScrollingModule

Như nhiều framwork mobile đã thực hiện việc scroll theo hướng tải dữ liệu động cho những dữ liệu như hình ảnh hoặc danh sách dài, Angular đã bắt kịp xu thế bằng cách thêm ScrollingModule để cho phép di chuyển ảo. Khi các phần tử được hiển thị hoặc bị ẩn, chúng hầu như được tải và dỡ ở DOM. Điều này có nghĩa là danh sách cuộn lớn của bạn nhanh hơn rất nhiều việc này rất tốt cho trải nghiệm người dùng.

<cdk-virtual-scroll-viewport itemSize="20">   
    <div *cdkVirtualFor="let item of items">{{item}}</div> 
</cdk-virtual-scroll-viewport>

Bạn có thể thấy các phần tử đang được thay đổi trong DOM khi chúng ta cuộn!

Drag & Drop

Ở phiên bản này CDK đã hỗ trọ drag and drop

  • Tự động render khi người dùng di chuyển các mục
  • Các helper methods cho việc sắp xếp lại/di chuyển các phần tử trong danh sách: moveItemInArray và transferArrayItem

Performance

Cài đặt Budgets cho app mới

Các gói Bundle Budgets trong CLI nhằm cung cấp khả năng cảnh báo khi gói ban đầu lớn hơn 2MB. Các giá trị mặc định là cảnh báo ở mức 2MB và một lỗi ở mức 5MB. Các giá trị mặc định này có thể dễ dàng thay đổi trong tệp angular.json của bạn. Bạn chỉ cần thêm một chút về budgets cùng với cảnh báo và kích thước lỗi ưa thích của mình

"budgets": [
  {
    "type": "initial",
    "maximumWarning": "2mb",
    "maximumError": "5mb"
  }
]

Kiểm tra kích thước gói ứng dụng của riêng bạn

Nếu bạn tò mò về việc kiểm tra kích thước gói của bạn, tất cả những gì bạn cần làm là chạy** ng serve** trên ứng dụng Angular của bạn:

Loại bỏ eflect-metadata Polyfill trong Production

Sau khi xem xét những sai lầm phổ biến trong toàn hệ sinh thái, nhóm phát hiện thấy các nhà phát triển đang sử dụng reflect-metadata polyfill, khi nó chỉ nên được sử dụng trong quá trình sản xuất. Kết quả là, phiên bản cập nhật của Angular sẽ loại bỏ điều này khỏi các tệp polyfills.ts và bao gồm nó như là một bước trong quá trình cài đặt và phát triển.

Angular Material

Angular Material được ưa thích trong năm nay với nhiều bản cập nhật mới, bao gồm cả trang chủ mới cho tài liệu: material.io. Ở đây bạn có thể nhận được hướng dẫn thiết kế, các thành phần phát triển, dụng cụ và luôn cập nhật tin tức mới nhất.

Tăng cường khả năng truy cập cho các Selects

Angular Materia cũng cải thiện khả năng tiếp cận cho các selects. Bây giờ bạn có thể sử dụng native select trong mat-form-field. Vì nó là một native element, nó có khả năng truy cập nhiều hơn và hiệu suất tốt hơn so với mat-select. Bây giờ bạn có thể chọn select or mat-select để sử dụng. Cả hai đều có sẵn để bạn dùng.

Updated Dependencies

Angular cập nhật đến Typecript 3.1, RxJS 6.3 và hỗ trợ Node 10! Bạn hãy kiểm tra các ghi chú phát hành phiên bản tại đây.


Bài biết này mình đã giới thiệu những thay đổi cơ bản nhất mà bản cập nhật Angular7 mang đến. Cảm ơn mọi người đã theo dõi. Bài viết được tham khảo từ các nguồn: https://www.telerik.com/blogs/whats-new-in-angular-7 https://material.angular.io/components/select/overview https://www.cbronline.com/opinion/angular-7-release