Arsitektur MVC di AngularJS

Halo sana, para pemrogram yang sedang belajar! Hari ini, kita akan memulai sebuah perjalanan menarik ke dunia AngularJS dan arsitektur MVC-nya. Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya – saya akan menjadi panduan yang ramah bagi Anda, dan kita akan mengambil langkah ini satu per satu. Pada akhir tutorial ini, Anda akan memiliki pengetahuan yang kuat tentang bagaimana AngularJS bekerja secara magis. Jadi, mari kita masuk ke dalam!

AngularJS - MVC Architecture

Apa Itu MVC?

Sebelum kita masuk ke detil tentang AngularJS, mari kita bicarakan tentang MVC. Tidak, ini bukan model mobil baru yang mewah – ini adalah singkatan dari Model-View-Controller. P想象kannya sebagai 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: Pemegang perantara 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 arsip digital untuk semua informasi yang dibutuhkan 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 kode ini, kita membuat Model dengan dua piece data: name dan age. Object $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 dalam $scope dapat dengan mudah ditampilkan di View kita (yang kita akan bicarakan berikutnya).

The View

View di AngularJS adalah apa yang pengguna lihat dan interaksi. Itu wajah cantik aplikasi kita, dibangun dengan HTML dan dihiasi dengan sedikit dusta AngularJS (juga dikenal sebagai directives).

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" memberitahu AngularJS dimana aplikasi kita dimulai.
  • ng-controller="MyController" menghubungkan bagian ini dari View ke Controller kita (kita akan membahas ini lebih lanjut nanti).
  • {{name}} dan {{age}} adalah ekspresi yang menampilkan data dari Model kita.

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

The Controller

Controller seperti konduktor di sebuah orkestra. Itu mengkoordinasi Model dan View, memberitahu mereka apa yang harus dilakukan dan kapan melakukan itu. Dalam AngularJS, kita membuat 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 mengatur data Model awal kita (name dan age).
  2. Kita mendefinisikan fungsi celebrateBirthday yang meningkatkan umur dan menampilkan alert.

Sekarang, mari kita perbarui 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>

Directive ng-click memberitahu AngularJS untuk memanggil fungsi celebrateBirthday saat 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 saat 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 mempelajari keterampilan baru, menguasai AngularJS memerlukan latihan. Jangan frustasi jika itu belum berjalan segera – bahkan para pemrogram ahli pernah menjadi pemula sekali.

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

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

Komponen Deskripsi Contoh
Model Menyimpan data aplikasi $scope.name = "John Doe";
View Menampilkan data ke pengguna <h1>Hello, {{name}}!</h1>
Controller Mengelola logika dan memperbarui Model $scope.celebrateBirthday = function() { $scope.age++; };
Directive Memperluas HTML dengan atribut dan elemen khusus ng-click, ng-controller
Ekspresi Mengakses data Model di View {{name}}, {{age}}
Module Kontainer untuk bagian-bagian berbeda aplikasi angular.module('myApp', [])
Scope Konteks di mana data Model disimpan $scope

Credits: Image by storyset