2013-02-02 39 views
6

Tôi có một thời gian khó hiểu các chỉ thị trong AngularJS. Định nghĩa bởi AngularJS bản thân là khó hiểu lúc tốt nhất:Chỉ thị trong Angular.JS

Directives are a way to teach HTML new tricks. During DOM compilation directives are matched against the HTML and executed. This allows directives to register behavior, or transform the DOM.

một ai đó có thể giải thích chỉ trong AngularJS bằng tiếng Anh thường được sử dụng trong chương trình giảng dạy. Một cái gì đó như: directives are funcions/objects that extends ...

+1

thể trùng lặp của [một chỉ thị angularjs là gì?] (Http://stackoverflow.com/questions/13875466/what-is-an-angularjs-directive) –

Trả lời

9

Chúng là một cách để mở rộng HTML, thêm các phần tử mới và/hoặc thêm thuộc tính mới vào các phần tử hiện có. Từ hướng dẫn dành cho nhà phát triển của Angular:

Chỉ thị là hành vi hoặc chuyển đổi DOM được kích hoạt bởi sự hiện diện của thuộc tính tùy chỉnh, tên phần tử hoặc tên lớp. Chỉ thị cho phép bạn mở rộng từ vựng HTML theo cách khai báo.

Bạn có thể sử dụng chúng hoặc cho thêm hành vi sang HTML, việc xác định một liên kết chức năng mà giữ hai chiều ràng buộc giữa các biến thuộc phạm vi và các yếu tố DOM, hoặc cho tự động thao tác DOM, việc xác định một biên dịch chức năng mà có thể sửa đổi hoặc thậm chí tạo các phần tử và thuộc tính DOM mới. Hãy xem đó là cách mở rộng HTML và chuyển đổi nó thành một Ngôn ngữ cụ thể của tên miền .

+0

Tôi hiểu ý của bạn, nhưng bạn có thể giải thích cách nó làm cho HTML trở thành ngôn ngữ cụ thể của miền không? Tôi nghĩ rằng tên miền của nó là khá nhiều chỉ là internet. Bạn có nói rằng với Angular nó trở thành nhiều hơn một ngôn ngữ PROGRAMMING miền cụ thể như trái ngược với một ngôn ngữ đánh dấu? – user137717

4

Chỉ thị có thể là thuộc tính, thẻ hoặc thậm chí là tên lớp.

Khi bạn viết chúng trong đánh dấu HTML của mình, nó được chọn theo góc cạnh và hoạt động theo cách bạn đã xác định.

Nó cung cấp cho bạn khả năng để xác định các phần tử HTML tùy chỉnh mới như hoặc, hoặc hành vi mới các thuộc tính như

<div angry></div> 

Và bất cứ khi nào ai đó sẽ click vào div rằng ông sẽ nhận được và cảnh báo với "Tôi Angry" .

Về cơ bản, bạn có thể thực hiện mọi tiện ích bạn cần để làm cho html của bạn trở nên gọn gàng và dễ hiểu nhất có thể. tất cả phụ thuộc vào cách bạn định nghĩa bạn chỉ thị.

+0

Không có điều gì như một trình thông dịch _angular_, chỉ thị được phân tích cú pháp trong giai đoạn phân tích cú pháp DOM, hàm biên dịch của chúng được thực hiện để chuyển đổi DOM và sau khi chúng chức năng liên kết được gắn vào phạm vi và được thực hiện trong ngữ cảnh của vòng lặp sự kiện trình duyệt. – remigio

+0

Chu trình tiêu hóa của Angular không phải là vòng lặp sự kiện trình duyệt, nó chỉ được kích hoạt bởi nó. Nhưng bạn nói đúng, và bạn thông minh hơn và đẹp trai hơn ... Tôi sẽ xóa từ "thông dịch viên". –

+0

Tôi không thông minh hơn và đẹp trai hơn bạn, tôi chỉ muốn nhận xét rằng mã góc không được giải thích bởi vì tôi nghĩ rằng có thể gây nhầm lẫn cho mọi người đọc. Dù sao tôi xin lỗi, tôi không muốn xúc phạm cũng không làm giảm câu trả lời của bạn – remigio

0

Hướng dẫn AngularJS là kết hợp đánh dấu mẫu HTML (tức là thuộc tính, thành phần và lớp CSS) và hỗ trợ mã JavaScript. Mã JavaScript angularJs xác định dữ liệu html và hành vi của phần tử html.

Chỉ thị AngularJs được sử dụng để mở rộng từ vựng HTML, tức là chúng trang trí các phần tử html với hành vi mới và giúp thao tác các thuộc tính phần tử html theo cách thú vị.

Có một số chỉ thị xây dựng-in được cung cấp bởi AngularJS như là ng-app, ng-điều khiển, ng-repeat, ng-mô hình vv

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