Bài 23: Directive ng-click trong angularjs
Trong các đối tượng HTML (các thẻ HTML) có một sự kiện mà đối tượng nào cũng có đó là onclick, sự kiện này xảy ra khi chúng ta dùng chuột click vào phạm vi hiển thị của thẻ đó, nếu các thẻ chồng lên nhau thì khi chúng ta click thì cấp cao nhất sẽ được xảy ra trước. Với angular thì nó cung cấp cho chúng ta một directive tương tự đó là ng-click, cách hoạt động nó cũng không khác gì sự kiện onclick. Chi tiết chúng ta sẽ tìm hiểu qua các ví dụ dưới đây nhé.
1. Tìm hiểu directive ng-click trong angularjs
Sự kiện này sẽ xảy ra khi chúng ta click vào thẻ hiện tại. Cú pháp là <element ng-click="statment"></element>,
trong đó:
- ng-click là tên của directive ngClick
- statment là những dòng lệnh sẽ chạy. Bạn có thể truyền vào hàm hoặc những đoạn code rời rạc
2. Các ví dụ về ng-click trong angularjs
Chúng ta sẽ xây dụng một ứng dụng đơn giản đó là thực hiện đếm số lần click vào thẻ button bằng hai cách (Gọi đến hàm và xử lý trực tiếp)
Gọi đến hàm
Cách này chúng ta sẽ gọi đến một hàm khai báo trong $scope ở controller.
Bài viết này được đăng tại [free tuts .net]
<!doctype html> <html lang="vi"> <head> <meta charset="UTF-8"> <title>NG-CLICK trong AngularJS - Freetuts.net</title> <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular.min.js"></script> <style> *{margin:0;padding:0} body{margin:20px;} </style> <script> /* * Author: thehalfheart@gmail.com * Website: freetuts.net */ angular.module('ngCLickExample', []) .controller('ngClickController', function($scope){ // Gán giá trị khởi đầu cho count $scope.count = 0; // Hàm tăng count lên 1 đơn vị $scope.TangBienCount = function(){ $scope.count++; }; }); </script> </head> <body ng-app="ngCLickExample" ng-controller="ngClickController"> <h1>Freetuts.net - ng-click</h1> <input type="button" value="Click Me" ng-click="TangBienCount()" /> <br/><br/> <span>Bạn đã click {{count}} lần</span> </body> </html>
Xử lý trực tiếp
Cách này chúng ta xử lý trực tiếp ngay tại vị trí ng-click luôn.
<!doctype html> <html lang="vi"> <head> <meta charset="UTF-8"> <title>NG-CLICK trong AngularJS - Freetuts.net</title> <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular.min.js"></script> <style> *{margin:0;padding:0} body{margin:20px;} </style> <script> /* * Author: thehalfheart@gmail.com * Website: freetuts.net */ angular.module('ngCLickExample', []) .controller('ngClickController', function($scope){ // Gán giá trị khởi đầu cho count $scope.count = 0; }); </script> </head> <body ng-app="ngCLickExample" ng-controller="ngClickController"> <h1>Freetuts.net - ng-click</h1> <input type="button" value="Click Me" ng-click="count = count + 1" /> <br/><br/> <span>Bạn đã click {{count}} lần</span> </body> </html>
3. Lời kết
Quá đơn giản cho phần này, bản chất nó hoạt động giống như sự kiện onclick trong javascript thôi nên bạn rất dễ hiểu đối với directive này. Chúc các bạn học tốt và nhớ theo dõi ủng hộ những bài viết mới tiếp theo của freetuts.net nhé.