Thành phần web đang được hỗ trợ trên nhiều trình duyệt, cộng đồng đang phát triển rất nhanh chóng và có một danh mục Thành phần web hoàn toàn mới để tìm chính xác thành phần bạn cần.
Bạn đã từng muốn tạo thành phần JavaScript độc lập của riêng mình mà bạn có thể dễ dàng sử dụng cho nhiều dự án hoặc chia sẻ với các nhà phát triển khác bất kể họ sử dụng khung JavaScript nào? Thành phần web có thể phù hợp với bạn.
Thành phần web là một tập hợp các tính năng mới trên nền tảng web cho phép bạn tạo
phần tử HTML riêng. Mỗi phần tử tùy chỉnh mới có thể có một thẻ tùy chỉnh như
<my-button>
và có tất cả những tính năng ưu việt của các phần tử tích hợp sẵn – phần tử tuỳ chỉnh
có thể có thuộc tính và phương thức, kích hoạt và ứng phó với các sự kiện và thậm chí có
phong cách đóng gói và cây DOM để mang lại giao diện riêng.
Bằng cách cung cấp mô hình thành phần cấp thấp và dựa trên nền tảng, Thành phần web cho phép bạn tạo và chia sẻ các phần tử có thể tái sử dụng cho mọi thứ, từ các nút chuyên dụng cho những khung hiển thị phức tạp như bộ chọn ngày. Vì Thành phần web được xây dựng dựa trên nền tảng API bao gồm các dữ liệu gốc đóng gói mạnh mẽ, bạn thậm chí có thể sử dụng chúng trong các thư viện hoặc khung JavaScript khác như thể chúng các phần tử DOM chuẩn.
Có thể bạn đã từng nghe về Thành phần web – một phiên bản ban đầu của Web Thông số thành phần – v0 – đã được vận chuyển trong Chrome 33.
Ngày nay, nhờ sự cộng tác rộng rãi giữa các nhà cung cấp trình duyệt, thế hệ tiếp theo của thông số Thành phần web - v1 - đang được hỗ trợ rộng rãi. Chrome hỗ trợ hai thông số kỹ thuật chính tạo nên Thành phần web – Bóng DOM và Tuỳ chỉnh Elements – kể từ Chrome 53 và Chrome 54 tương ứng. Safari đã hỗ trợ Shadow DOM v1 trong Safari 10 và đã hoàn tất triển khai Phần tử tuỳ chỉnh phiên bản 1 trong WebKit. Firefox là đang phát triển Shadow DOM và Tuỳ chỉnh Các thành phần phiên bản 1 và cả hai Bóng Mô hình đối tượng tài liệu (DOM) và Tuỳ chỉnh Elements đang trong lộ trình phát triển Edge.
Để xác định một phần tử tuỳ chỉnh mới bằng cách triển khai v1, bạn chỉ cần tạo một
lớp mới mở rộng HTMLElement
bằng cú pháp ES6 và đăng ký lớp này bằng
trình duyệt:
class MyElement extends HTMLElement {...}
window.customElements.define('my-element', MyElement);
Các thông số kỹ thuật mới v1 cực kỳ mạnh mẽ – chúng tôi đã tổng hợp các hướng dẫn về cách sử dụng Phần tử tuỳ chỉnh phiên bản 1 và Shadow DOM v1 để giúp khi bạn bắt đầu.
webcomponents.org
Cộng đồng Thành phần web cũng đang phát triển rất nhanh. Chúng tôi rất vui mừng để xem việc ra mắt phiên bản trang web webcomponents.org - tâm điểm của cộng đồng các thành phần web - bao gồm một danh mục tích hợp để các nhà phát triển chia sẻ các yếu tố của chúng.
Trang web thành phần web chứa thông tin về các Thành phần web thông số kỹ thuật, thông tin cập nhật và nội dung từ web cộng đồng thành phần và màn hình tài liệu về nguồn mở phần tử và bộ sưu tập của phần tử do các nhà phát triển khác tạo ra.
Bạn có thể bắt đầu tạo yếu tố đầu tiên bằng cách sử dụng một thư viện như Polymer hoặc chỉ sử dụng web cấp thấp trực tiếp của Component API. Sau đó, hãy xuất bản phần tử trên webcomponent.org.
Chúc mừng bạn đã sắp xếp thành phần!