Hướng dẫn入门 AngularJS - Chỉ thị (Directives): Cẩm nang cho người mới bắt đầu

Xin chào các pháp sư AngularJS tương lai! Hôm nay, chúng ta sẽ bắt đầu một hành trình thú vị vào thế giới của các chỉ thị AngularJS. Đừng lo lắng nếu bạn mới làm quen với lập trình - tôi sẽ là người hướng dẫn thân thiện của bạn, giải thích mọi thứ từng bước một. Vậy, hãy lấy một cốc cà phê (hoặc trà, nếu đó là sở thích của bạn), và cùng nhau bắt đầu nhé!

AngularJS - Directives

Chỉ thị là gì?

Trước khi bắt đầu, hãy cùng hiểu về chỉ thị là gì. Hãy tưởng tượng chỉ thị như những hướng dẫn đặc biệt mà chúng ta đưa ra cho HTML. Chúng giống như những lời nguyền神奇 giúp trang web của chúng ta sống động với nội dung và hành vi động. Đúng là rất thú vị phải không?

Bây giờ, hãy cùng khám phá một số chỉ thị thường được sử dụng nhất trong AngularJS.

Chỉ thị ng-app

Chỉ thị ng-app giống như nền móng của ngôi nhà AngularJS của chúng ta. Nó告诉 AngularJS, "Hey, đây là nơi ứng dụng của tôi bắt đầu!"

Ví dụ:

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
</head>
<body ng-app>
<p>Chào mừng đến với ứng dụng AngularJS của tôi!</p>
</body>
</html>

Trong ví dụ này, chúng ta đã thêm ng-app vào thẻ <body>. Điều này告诉 AngularJS rằng mọi thứ bên trong thẻ <body> đều là một phần của ứng dụng AngularJS của chúng ta.

Chỉ thị ng-init

Chỉ thị ng-init giống như một chiếc mũ phù thủy - nó cho phép chúng ta khởi tạo các biến ngay trong HTML. Nó rất hữu ích cho các demo đơn giản, nhưng trong các ứng dụng thực tế, chúng ta thường khởi tạo dữ liệu trong một controller.

Ví dụ:

<div ng-app ng-init="firstName='John'; lastName='Doe'">
<p>Tên là {{ firstName + " " + lastName }}</p>
</div>

Ở đây, chúng ta đang sử dụng ng-init để đặt giá trị cho firstNamelastName. Sau đó, chúng ta hiển thị các giá trị này bằng cách sử dụng các biểu thức AngularJS (những dấu ngoặc kép).

Chỉ thị ng-model

Chỉ thị ng-model giống như một con đường hai chiều giữa HTML của bạn và dữ liệu ứng dụng. Nó có thể:

  1. Kết nối một input, select, hoặc textarea với một thuộc tính trên phạm vi (scope)
  2. Cung cấp��증 loại cho dữ liệu ứng dụng
  3. Đặt các lớp CSS cho phần tử
  4. Kết nối các phần tử HTML với��증 form

Ví dụ:

<div ng-app>
<input type="text" ng-model="name">
<p>Xin chào, {{ name }}!</p>
</div>

Trong ví dụ này, bất cứ thứ gì bạn gõ vào hộp input sẽ ngay lập tức xuất hiện sau "Xin chào," trong đoạn văn bên dưới. Đó như phép thuật, nhưng thực ra chỉ là sức mạnh của ng-model!

Chỉ thị ng-repeat

Chỉ thị ng-repeat giống như một máy photoocopier cho các phần tử HTML. Nó có thể lặp lại một bộ các phần tử HTML cho mỗi mục trong một mảng. Nó rất hữu ích cho việc tạo danh sách hoặc bảng động.

Ví dụ:

<div ng-app ng-init="fruits=['Apple', 'Banana', 'Orange']">
<ul>
<li ng-repeat="fruit in fruits">
{{ fruit }}
</li>
</ul>
</div>

Điều này sẽ tạo ra một danh sách các loại quả. Chỉ thị ng-repeat sẽ lặp lại phần tử <li> cho mỗi loại quả trong mảng của chúng ta.

Một ví dụ tổng quát

Bây giờ, hãy cùng kết hợp tất cả trong một ví dụ phức tạp hơn:

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
</head>
<body ng-app ng-init="students=[
{name:'John Doe', grade: 85},
{name:'Jane Smith', grade: 92},
{name:'Bob Johnson', grade: 78}
]">
<h2>Tracer Grade Student</h2>
<table border="1">
<tr>
<th>Tên</th>
<th>Điểm</th>
</tr>
<tr ng-repeat="student in students">
<td>{{ student.name }}</td>
<td>{{ student.grade }}</td>
</tr>
</table>
<br>
<h3>Thêm học sinh mới</h3>
<form>
Tên: <input type="text" ng-model="newName"><br>
Điểm: <input type="number" ng-model="newGrade"><br>
<button ng-click="students.push({name:newName, grade:newGrade})">Thêm học sinh</button>
</form>
</body>
</html>

Hãy phân tích điều này:

  1. Chúng ta bắt đầu với ng-app trong thẻ <body> để khởi tạo ứng dụng AngularJS của chúng ta.
  2. Chúng ta sử dụng ng-init để tạo một mảng học sinh ban đầu.
  3. Chúng ta sử dụng ng-repeat để tạo các hàng trong bảng cho mỗi học sinh.
  4. Chúng ta sử dụng ng-model để kết nối các trường input với các biến.
  5. Chúng ta sử dụng ng-click (một chỉ thị mới!) để thêm một học sinh mới vào mảng khi nút được nhấp.

Ví dụ này minh họa cách các chỉ thị này làm việc cùng nhau để tạo ra một ứng dụng web động và tương tác. Bạn có thể thêm học sinh mới, và họ sẽ ngay lập tức xuất hiện trong bảng!

Kết luận

Chúc mừng! Bạn đã vừa迈出学习 AngularJS 指令的第一步。我们已经介绍了 ng-app, ng-init, ng-model, và ng-repeat 的基本知识。这些只是 AngularJS 提供的众多指令中的一小部分,但它们是一个很好的起点。

记住,学习编程就像学习一门新语言。它需要时间和练习,但很快,你就会流利地 "说" AngularJS!继续尝试这些指令,尝试以不同的方式组合它们,最重要的是,享受乐趣!

祝编程愉快,未来的 AngularJS 大师们!

Chỉ thị Mục đích
ng-app Khởi tạo một ứng dụng AngularJS
ng-init Khởi tạo dữ liệu ứng dụng
ng-model Kết nối các控件 HTML với dữ liệu ứng dụng
ng-repeat Lặp lại các phần tử HTML cho mỗi mục trong một bộ
ng-click Xác định hành vi tùy chỉnh khi một phần tử bị nhấp

Credits: Image by storyset