Hướng dẫn AngularJS
AngularJS cho phép bạn mở rộng HTML với các thuộc tính mới được gọi là Directives .
AngularJS có một tập hợp các chỉ thị tích hợp cung cấp chức năng cho các ứng dụng của bạn.
AngularJS cũng cho phép bạn xác định các chỉ thị của riêng mình.
Hướng dẫn AngularJS
Các chỉ thị AngularJS là các thuộc tính HTML mở rộng với tiền tố ng-
.
Chỉ ng-app
thị khởi tạo một ứng dụng AngularJS.
Chỉ ng-init
thị khởi tạo dữ liệu ứng dụng.
Lệnh ng-model
liên kết giá trị của các điều khiển HTML (đầu vào, lựa chọn, vùng văn bản) với dữ liệu ứng dụng.
Đọc về tất cả các chỉ thị AngularJS trong tài liệu tham khảo chỉ thị AngularJS của chúng tôi .
Thí dụ
<div ng-app="" ng-init="firstName='John'">
<p>Name: <input type="text" ng-model="firstName"></p>
<p>You wrote: {{ firstName }}</p>
</div>
Chỉ ng-app
thị cũng cho AngularJS biết rằng phần tử <div> là "chủ sở hữu" của ứng dụng AngularJS.
Ràng buộc dữ liệu
Biểu {{ firstName }}
thức, trong ví dụ trên, là một biểu thức liên kết dữ liệu AngularJS.
Liên kết dữ liệu trong AngularJS liên kết các biểu thức AngularJS với dữ liệu AngularJS.
{{ firstName }}
được ràng buộc với ng-model="firstName"
.
Trong ví dụ tiếp theo, hai trường văn bản được liên kết với nhau bằng hai lệnh ng-model:
Thí dụ
<div ng-app="" ng-init="quantity=1;price=5">
Quantity: <input type="number" ng-model="quantity">
Costs: <input type="number" ng-model="price">
Total in dollar: {{ quantity * price }}
</div>
Sử dụng ng-init
không phải là rất phổ biến. Bạn sẽ học cách khởi tạo dữ liệu trong chương về bộ điều khiển.
Các phần tử HTML lặp lại
Lệnh ng-repeat
lặp lại một phần tử HTML:
Thí dụ
<div ng-app="" ng-init="names=['Jani','Hege','Kai']">
<ul>
<li ng-repeat="x in names">
{{ x }}
</li>
</ul>
</div>
Lệnh ng-repeat
thực sự sao chép các phần tử HTML
một lần cho mỗi mục trong một bộ sưu tập.
Lệnh ng-repeat
được sử dụng trên một mảng đối tượng:
Thí dụ
<div ng-app="" ng-init="names=[
{name:'Jani',country:'Norway'},
{name:'Hege',country:'Sweden'},
{name:'Kai',country:'Denmark'}]">
<ul>
<li ng-repeat="x in names">
{{ x.name + ', ' + x.country }}
</li>
</ul>
</div>
AngularJS hoàn hảo cho các ứng dụng CRUD (Create Read Update Delete) cơ sở dữ liệu.
Chỉ cần tưởng tượng nếu các đối tượng này là bản ghi từ cơ sở dữ liệu.
Chỉ thị trong ứng dụng
Chỉ ng-app
thị xác định phần tử gốc của một ứng dụng AngularJS.
Chỉ ng-app
thị sẽ tự động khởi động (tự động khởi tạo) ứng dụng khi một trang web được tải.
Chỉ thị về nhiệt
Chỉ ng-init
thị xác định các giá trị ban đầu cho một ứng dụng AngularJS.
Thông thường, bạn sẽ không sử dụng ng-init. Bạn sẽ sử dụng bộ điều khiển hoặc mô-đun thay thế.
Bạn sẽ tìm hiểu thêm về bộ điều khiển và mô-đun sau.
Chỉ thị mô hình hóa
Lệnh ng-model
liên kết giá trị của các điều khiển HTML (đầu vào, lựa chọn, vùng văn bản) với dữ liệu ứng dụng.
Chỉ ng-model
thị cũng có thể:
- Cung cấp xác thực kiểu cho dữ liệu ứng dụng (số, email, bắt buộc).
- Cung cấp trạng thái cho dữ liệu ứng dụng (không hợp lệ, bẩn, chạm, lỗi).
- Cung cấp các lớp CSS cho các phần tử HTML.
- Liên kết các phần tử HTML với các biểu mẫu HTML.
Đọc thêm về ng-model
chỉ thị trong chương tiếp theo.
Tạo Chỉ thị Mới
Ngoài tất cả các chỉ thị AngularJS được tích hợp sẵn, bạn có thể tạo các chỉ thị của riêng mình.
Các chỉ thị mới được tạo bằng cách sử dụng .directive
hàm.
Để gọi chỉ thị mới, hãy tạo một phần tử HTML có cùng tên thẻ với chỉ thị mới.
Khi đặt tên một chỉ thị, bạn phải sử dụng tên trường hợp lạc đà
w3TestDirective
, nhưng khi gọi nó, bạn phải sử dụng -
tên riêng biệt w3-test-directive
,:
Thí dụ
<body ng-app="myApp">
<w3-test-directive></w3-test-directive>
<script>
var app = angular.module("myApp", []);
app.directive("w3TestDirective",
function() {
return {
template : "<h1>Made by a directive!</h1>"
};
});
</script>
</body>
Bạn có thể gọi một chỉ thị bằng cách sử dụng:
- Tên phần tử
- Thuộc tính
- Lớp học
- Nhận xét
Tất cả các ví dụ dưới đây sẽ tạo ra cùng một kết quả:
Tên phần tử
<w3-test-directive></w3-test-directive>
Thuộc tính
<div w3-test-directive></div>
Lớp học
<div class="w3-test-directive"></div>
Nhận xét
<!-- directive: w3-test-directive -->
Những hạn chế
Bạn có thể hạn chế các chỉ thị của mình chỉ được gọi bằng một số phương thức.
Thí dụ
Bằng cách thêm một restrict
thuộc tính với giá trị "A"
, chỉ thị chỉ có thể được gọi bởi các thuộc tính:
var app = angular.module("myApp", []);
app.directive("w3TestDirective",
function() {
return {
restrict : "A",
template : "<h1>Made by a directive!</h1>"
};
});
Các giá trị hạn chế pháp lý là:
E
cho tên phần tửA
cho Thuộc tínhC
cho Lớp họcM
cho bình luận
Theo mặc định, giá trị là EA
, nghĩa là cả tên phần tử và tên thuộc tính đều có thể gọi chỉ thị.