Arkitektur MVC dalam AngularJS

Hai sana, para pemrogram yang sedang mencari ilmu! Hari ini, kita akan memulai perjalanan yang menarik ke dunia AngularJS dan arsitektur MVC-nya. Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya - saya akan menjadi panduan ramah Anda, dan kita akan mengambil langkah ini secara bertahap. Pada akhir tutorial ini, Anda akan memiliki pengetahuan yang kuat tentang bagaimana AngularJS bekerja dengan magis. mari kita masuk ke dalamnya!

AngularJS - MVC Architecture

Apa Itu MVC?

Sebelum kita melompat ke detil tentang AngularJS, mari bicarakan tentang MVC. Tidak, ini bukan model mobil baru yang mewah - ini singkatan dari Model-View-Controller. Pikirkan ini seperti resep untuk mengatur kode Anda, sama seperti Anda mengatur lemari pakaian Anda (jika Anda lebih rapi daripada saya!)

MVC adalah pola desain yang membagi aplikasi menjadi tiga komponen utama:

  1. Model: Data dan logika bisnis
  2. View: Antarmuka pengguna
  3. Controller: Penengah yang menghubungkan Model dan View

Sekarang, mari kita jelajahi setiap komponen ini dalam konteks AngularJS.

The Model

Model di AngularJS adalah tempat kita menyimpan data. Itu seperti lemari berkas digital untuk semua informasi yang diperlukan aplikasi kita. Dalam AngularJS, kita biasanya menggunakan sesuatu yang disebut $scope untuk mewakili Model kita.

mari kita lihat contoh sederhana:

angular.module('myApp', [])
.controller('MyController', function($scope) {
$scope.name = "John Doe";
$scope.age = 30;
});

Dalam contoh kode ini, kita menciptakan Model dengan dua piece data: name dan age. Objek $scope adalah Model kita, dan itu menyimpan data kita.

Tetapi mengapa kita menggunakan $scope? Well, itu seperti jembatan magis antara kode JavaScript kita dan HTML kita. Setiap data yang kita masukkan ke $scope dapat dengan mudah ditampilkan di View (yang kita akan bicarakan selanjutnya).

The View

View di AngularJS adalah apa yang pengguna lihat dan interaksikan. Itu wajah cantik dari aplikasi kita, dibangun dengan HTML dan ditaburkan dengan sedikit dusta AngularJS (juga dikenal sebagai direktif).

mari kita lihat bagaimana kita dapat menampilkan data Model kita di View:

<div ng-app="myApp" ng-controller="MyController">
<h1>Hello, {{name}}!</h1>
<p>You are {{age}} years old.</p>
</div>

Ini apa yang terjadi di HTML ini:

  • ng-app="myApp" mengatakan ke AngularJS dimana aplikasi kita dimulai.
  • ng-controller="MyController" menghubungkan bagian ini dari View ke Controller kita (kita akan membahas ini lebih banyak nanti).
  • {{name}} dan {{age}} adalah ekspresi yang menampilkan data dari Model kita.

Ketika AngularJS memroses View ini, itu akan mengganti {{name}} dengan "John Doe" dan {{age}} dengan 30, berdasarkan data di Model kita.

The Controller

Controller seperti konduktor orkestra. Itu mengkoordinasi Model dan View, mengatakan kepada mereka apa yang harus dilakukan dan kapan melakukannya. Dalam AngularJS, kita menciptakan Controllers menggunakan JavaScript.

mari kita perluas contoh sebelumnya:

angular.module('myApp', [])
.controller('MyController', function($scope) {
$scope.name = "John Doe";
$scope.age = 30;

$scope.celebrateBirthday = function() {
$scope.age++;
alert("Happy Birthday, " + $scope.name + "! You are now " + $scope.age + " years old.");
};
});

Dalam Controller ini:

  1. Kita menyiapkan data Model awal (name dan age).
  2. Kita mendefinisikan fungsi celebrateBirthday yang meningkatkan umur dan menampilkan peringatan.

Sekarang, mari kita memperbarui View kita untuk menggunakan fungsi ini:

<div ng-app="myApp" ng-controller="MyController">
<h1>Hello, {{name}}!</h1>
<p>You are {{age}} years old.</p>
<button ng-click="celebrateBirthday()">Celebrate Birthday</button>
</div>

Directif ng-click mengatakan ke AngularJS untuk memanggil fungsi celebrateBirthday ketika tombol ditekan.

Menyatukan Semua

Sekarang kita telah melihat setiap bagian MVC dalam aksi, mari kita lihat bagaimana mereka bekerja bersama:

  1. Model ($scope) menyimpan data kita (name dan age).
  2. View (HTML kita) menampilkan data ini dan menyediakan cara bagi pengguna untuk interaksi (tombol).
  3. Controller mengelola logika, memperbarui Model ketika tombol ditekan.
  4. AngularJS secara otomatis memperbarui View saat Model berubah, sehingga umur baru secara instan ditampilkan.

Cyklus pembaruan ini yang mengalir melalui arsitektur MVC adalah apa yang membuat AngularJS sangat kuat dan responsif.

Kesimpulan

Dan begitulah, teman-teman! Kita telah melakukan perjalanan singkat melalui arsitektur MVC di AngularJS. Ingat, seperti belajar keterampilan baru, menguasai AngularJS memerlukan latihan. Jangan frustasi jika itu tidak langsung berjalan - bahkan programmer ahli pernah menjadi pemula.

Terus mencoba contoh kode ini, cobalah untuk memodifikasi mereka, dan lihat apa yang terjadi. Sebelum Anda mengetahui, Anda akan membuat aplikasi AngularJS yang kompleks dan memukau teman Anda dengan keterampilan coding baru Anda!

Selamat coding, dan may the Angular force be with you!

Credits: Image by storyset