AngularJS - Ứng dụng Biểu đồ

Xin chào các bạn học lập trình tiềm năng! 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 AngularJS và các ứng dụng biểu đồ. Là người giáo viên khoa học máy tính gần gũi của bạn, tôi rất vui mừng được hướng dẫn bạn trong chuyến phiêu lưu này. Đừng lo lắng nếu bạn mới bắt đầu học lập trình - chúng ta sẽ bắt đầu từ cơ bản và dần dần nâng cao. Vậy, hãy lấy một tách cà phê (hoặc đồ uống yêu thích của bạn), và cùng nhau bắt đầu nhé!

AngularJS - Chart Application

AngularJS là gì?

Trước khi chúng ta bắt đầu tạo biểu đồ, hãy hiểu AngularJS là gì. Hãy tưởng tượng bạn đang xây dựng một ngôi nhà. AngularJS giống như khung công tác giúp bạn cấu trúc ngôi nhà của mình một cách hiệu quả. Nó là một khung công tác front-end mã nguồn mở dựa trên JavaScript, giúp dễ dàng tạo ra các ứng dụng single-page dynamic.

Các Tính Năng Chính của AngularJS

Tính Năng Mô Tả
Two-way Data Binding Tự động đồng bộ dữ liệu giữa model và view
Dependency Injection Giúp làm cho các thành phần có thể tái sử dụng, dễ bảo trì và dễ kiểm tra
Directives Cho phép bạn mở rộng HTML với các thuộc tính và phần tử tùy chỉnh
Templates Sử dụng HTML với các thẻ đặc biệt làm mẫu
MVC Architecture Tuân theo mẫu Model-View-Controller để tổ chức tốt hơn

Thiết lập Ứng dụng Biểu đồ của Chúng Ta

Bây giờ chúng ta đã có một hiểu biết cơ bản về AngularJS, hãy thiết lập ứng dụng biểu đồ của mình. Chúng ta sẽ sử dụng thư viện Chart.js cùng với AngularJS để tạo ra các biểu đồ đẹp và linh hoạt.

Bước 1: Chèn Các Tệp Cần Thiết

Đầu tiên, chúng ta cần chèn AngularJS và Chart.js vào tệp HTML của mình. Thêm các dòng sau vào phần <head> của HTML:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.7.0/chart.min.js"></script>

Bước 2: Tạo Module AngularJS

Bây giờ, hãy tạo module AngularJS của chúng ta. Trong tệp JavaScript của bạn, thêm:

var app = angular.module('chartApp', []);

Dòng này tạo một module AngularJS có tên là 'chartApp'. Hãy tưởng tượng như chúng ta đang tạo một cuốn sách công thức mới cho chuyến phiêu lưu tạo biểu đồ của mình!

Tạo Biểu Đồ Đầu Tiên

Thật sự phấn khích để thấy một chút phép thuật thị giác phải không? Hãy tạo biểu đồ đầu tiên của chúng ta - một biểu đồ cột đơn giản hiển thị sự phổ biến của các ngôn ngữ lập trình.

Bước 1: Thiết lập HTML

Trong tệp HTML của bạn, thêm:

<div ng-app="chartApp" ng-controller="ChartController">
    <canvas id="myChart" width="400" height="200"></canvas>
</div>

Điều này tạo một phần tử canvas nơi biểu đồ của chúng ta sẽ được vẽ. Các chỉ thị ng-appng-controller kết nối HTML của chúng ta với ứng dụng và bộ điều khiển AngularJS.

Bước 2: Tạo Bộ Điều Khiển

Trong tệp JavaScript của bạn, thêm:

app.controller('ChartController', function($scope) {
    var ctx = document.getElementById('myChart').getContext('2d');
    var myChart = new Chart(ctx, {
        type: 'bar',
        data: {
            labels: ['JavaScript', 'Python', 'Java', 'C++', 'Ruby'],
            datasets: [{
                label: 'Sự Phổ Biến của Ngôn Ngữ Lập Trình',
                data: [12, 19, 3, 5, 2],
                backgroundColor: [
                    'rgba(255, 99, 132, 0.2)',
                    'rgba(54, 162, 235, 0.2)',
                    'rgba(255, 206, 86, 0.2)',
                    'rgba(75, 192, 192, 0.2)',
                    'rgba(153, 102, 255, 0.2)'
                ],
                borderColor: [
                    'rgba(255, 99, 132, 1)',
                    'rgba(54, 162, 235, 1)',
                    'rgba(255, 206, 86, 1)',
                    'rgba(75, 192, 192, 1)',
                    'rgba(153, 102, 255, 1)'
                ],
                borderWidth: 1
            }]
        },
        options: {
            scales: {
                y: {
                    beginAtZero: true
                }
            }
        }
    });
});

Wow, đó là rất nhiều mã! Nhưng đừng lo lắng, hãy cùng phân tích:

  1. Chúng ta tạo một bộ điều khiển có tên 'ChartController'.
  2. Chúng ta lấy ngữ cảnh của phần tử canvas.
  3. Chúng ta tạo một đối tượng Chart mới, chỉ định nó là biểu đồ cột.
  4. Chúng ta cung cấp dữ liệu cho biểu đồ, bao gồm các nhãn và bộ dữ liệu.
  5. Chúng ta thiết lập các tùy chọn cho biểu đồ, như bắt đầu trục y từ zero.

Làm cho Biểu Đồ Động

Biểu đồ tĩnh rất tuyệt vời, nhưng biểu đồ động còn tốt hơn! Hãy điều chỉnh biểu đồ của chúng ta để sử dụng dữ liệu từ scope của AngularJS.

Bước 1: Cập Nhật Bộ Điều Khiển

Chỉnh sửa bộ điều khiển của bạn để trông như sau:

app.controller('ChartController', function($scope) {
    $scope.languages = ['JavaScript', 'Python', 'Java', 'C++', 'Ruby'];
    $scope.popularity = [12, 19, 3, 5, 2];

    $scope.updateChart = function() {
        var ctx = document.getElementById('myChart').getContext('2d');
        var myChart = new Chart(ctx, {
            type: 'bar',
            data: {
                labels: $scope.languages,
                datasets: [{
                    label: 'Sự Phổ Biến của Ngôn Ngữ Lập Trình',
                    data: $scope.popularity,
                    backgroundColor: 'rgba(75, 192, 192, 0.2)',
                    borderColor: 'rgba(75, 192, 192, 1)',
                    borderWidth: 1
                }]
            },
            options: {
                scales: {
                    y: {
                        beginAtZero: true
                    }
                }
            }
        });
    };

    $scope.updateChart();
});

Tại đây, chúng ta đã di chuyển dữ liệu vào các biến $scope và tạo một hàm updateChart.

Bước 2: Thêm Người Dùng Nhập

Hãy thêm một số trường nhập để người dùng có thể cập nhật dữ liệu biểu đồ:

<div ng-app="chartApp" ng-controller="ChartController">
    <canvas id="myChart" width="400" height="200"></canvas>
    <div ng-repeat="language in languages">
        {{language}}: <input type="number" ng-model="popularity[$index]" ng-change="updateChart()">
    </div>
</div>

Bây giờ, khi bạn thay đổi các số trong các trường nhập, biểu đồ sẽ tự động cập nhật!

Kết Luận

Chúc mừng! Bạn đã tạo ra ứng dụng biểu đồ động đầu tiên của mình bằng AngularJS và Chart.js. Chúng ta đã bao gồm rất nhiều nội dung hôm nay, từ việc hiểu cơ bản AngularJS đến việc tạo các biểu đồ tương tác.

Nhớ rằng, việc trở thành một lập trình viên thành thạo giống như việc học nấu ăn - nó đòi hỏi sự thực hành, thử nghiệm và sự kiên nhẫn học hỏi từ những sai lầm. Vậy đừng ngại chơi với mã, thử các loại biểu đồ khác nhau, hoặc thêm các tính năng mới.

Trong những năm dạy học của tôi, tôi đã thấy học sinh từ người mới bắt đầu trở thành những người tạo ra các ứng dụng tuyệt vời. Với sự kiên nhẫn và sự tò mò, bạn sẽ sớm tạo ra các visualization dữ liệu phức tạp và đẹp mắt!

Tiếp tục lập mã, tiếp tục học hỏi, và quan trọng nhất, hãy vui vẻ! Đến gặp lại lần sau, chúc bạn vui vẻ với việc tạo biểu đồ!

Credits: Image by storyset