2016-07-13 41 views
19

Tôi thấy khó hiểu được sự khác biệt thực sự giữa các thành phần và chỉ thị. Bây giờ tôi hiểu rằng các thành phần là một khái niệm dễ dàng hơn nhiều.Góc 1.5: Chỉ thị vs Thành phần?

Vì vậy, có ý nghĩ này, có lý do nào để tiếp tục sử dụng chỉ thị khi sử dụng góc 1,5 không?

Có thể tôi thiếu ngữ cảnh thực sự ở đây, nhưng dường như các thành phần cung cấp api dễ dàng hơn.

Vậy lý do nào tôi phải tiếp tục sử dụng chỉ thị?

Góc 2 nói rằng mọi thứ đều là một thành phần, do đó, làm việc hướng đến việc di chuyển dễ dàng từ 1,5 đến 2, sẽ không có ý nghĩa gì khi chỉ sử dụng các thành phần về sau?

Trước đây tôi đã sử dụng chỉ thị để tạo, ví dụ như hộp văn bản tra cứu tự động, không có lý do gì khiến tôi không nên làm điều này ngay bây giờ bên trong một thành phần đúng không? Và sau đó tôi có thể tái sử dụng thành phần này bên trong các thành phần khác mà tôi tạo ra?

Tôi thực sự đánh giá cao nếu có ai có thể xác nhận những gì tôi nên làm và cách được đề xuất trong tương lai.

Cảm ơn

Trả lời

24

chỉ cần sao chép các tài liệu góc cạnh, kể từ khi họ đặt nó một cách tốt nhất tôi có thể nghĩ

Hiểu Linh kiện

Trong góc, một phần là một loại đặc biệt của chỉ thị sử dụng cấu hình đơn giản hơn, phù hợp với cấu trúc ứng dụng dựa trên thành phần.

Điều này giúp dễ dàng viết ứng dụng theo cách tương tự như sử dụng Thành phần web hoặc sử dụng kiến ​​trúc ứng dụng của Angular 2.

Ưu điểm của các thành phần:

  • cấu hình đơn giản hơn chỉ đơn giản
  • thúc đẩy giá trị mặc định lành mạnh và hoạt động tốt nhất
  • tối ưu hóa cho dựa trên thành phần kiến ​​trúc
  • chỉ viết phần sẽ làm cho nó dễ dàng hơn để nâng cấp lên Góc 2

Khi n ot sử dụng các thành phần:

  • cho chỉ thị dựa trên DOM thao tác, thêm người nghe sự kiện vv, vì các chức năng biên dịch và liên kết không có sẵn
  • khi bạn cần các tùy chọn định nghĩa chỉ thị tiên tiến như ưu tiên, thiết bị đầu cuối, đa -element
  • khi bạn muốn có một chỉ thị được kích hoạt bởi một thuộc tính hoặc CSS lớp, chứ không phải là một yếu tố
hơn

đọc: https://docs.angularjs.org/guide/component

+0

nó sẽ tuyệt vời nếu bạn đề cập đến sự khác biệt :) –

0

Thành phần về cơ bản chỉ là một loại chỉ thị mới được thiết kế cho kiến ​​trúc dựa trên thành phần. Trong nhiều cách, các thành phần bị hạn chế nhiều hơn trong chức năng của chúng, thay vào đó khuyến khích các quy ước và thiết kế tốt hơn thực sự dẫn đến mã dễ bảo trì và có thể tái sử dụng hơn.

Ví dụ: các thành phần buộc phạm vi phân lập và khuyến khích mạnh mẽ ràng buộc một chiều. Sao nó lại quan trọng? Bởi vì điều này đóng gói tốt hơn thành phần và ngăn cản bạn tạo các thành phần được kết hợp chặt chẽ với phần tử hoặc phạm vi gốc. Điều này có nghĩa là bạn viết thành phần theo cách mà bạn có nhiều khả năng có thể tái sử dụng trong tương lai mà không sửa đổi (thay vì sử dụng lại sao chép và dán như nhiều người có xu hướng làm). Điều này cũng giúp bạn theo dõi và kiểm soát tương tác và thay đổi dữ liệu dễ dàng hơn.

Thành phần vẫn có thể tương tác với phạm vi gốc, nhưng điều này được thực hiện thông qua các cuộc gọi lại được ràng buộc với các sự kiện thành phần. Một lần nữa, lực lượng hạn chế này hoặc ít nhất khuyến khích mạnh mẽ thiết kế phần mềm giúp việc sử dụng lại thành phần của bạn dễ dàng hơn và nắm bắt cách thành phần tương tác với phạm vi cha mẹ và các phần tử bên ngoài.

Các thành phần có thể được đăng ký bằng phương thức .component() của mô-đun AngularJS (được trả về bởi angular.module()). Phương thức lấy hai đối số:

1) Tên của thành phần (dưới dạng chuỗi).

2) Đối tượng cấu hình thành phần. (Lưu ý rằng, không giống như các phương pháp .directive(), phương pháp này không mất một chức năng nhà máy.)

// cho thị

module.directive (tên, fn);

// cho thành phần

module.thành phần (tên, tùy chọn);

Các vấn đề liên quan