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!
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:
- Model: Data dan logika bisnis
- View: Antarmuka pengguna
- 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:
- Kita mengatur data Model awal kita (
name
danage
). - 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:
- Model (
$scope
) menyimpan data kita (name
danage
). - View (HTML kita) menampilkan data ini dan menyediakan cara bagi pengguna untuk interaksi (tombol).
- Controller mengelola logika, memperbarui Model saat tombol ditekan.
- 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