AngularJS - Directives Khusus

Halo sana, para ahli AngularJS masa depan! Hari ini, kita akan memulai perjalanan menarik ke dalam dunia directives khusus. Jangan khawatir jika Anda baru dalam programming - saya akan menjadi panduan ramah Anda, dan kita akan melakukannya langkah demi langkah. Pada akhir tutorial ini, Anda akan menciptakan directives khusus Anda sendiri seperti seorang ahli!

AngularJS - Custom Directives

Mengerti Directives Khusus

Apa Itu Directive?

Dalam kerajaan yang magis AngularJS, sebuah directive adalah seperti sihir khusus yang memberitahu HTML bagaimana perilakunya. Ini adalah cara untuk memperluas HTML dengan atribut dan elemen baru, memberinya kekuatan super!

Bayangkan Anda sedang membangun sebuah rumah (aplikasi web Anda). Elemen HTML standar adalah seperti blok bangunan dasar Anda - batu bata, jendela, pintu. Tetapi, apa bila Anda ingin sesuatu yang khusus, seperti pintu rahasia atau buku yang berputar? Itu di mana directives khusus memasuki!

Mengapa Menggunakan Directives Khusus?

  1. Reusabilitas: Buat sekali, gunakan dimana-mana!
  2. Enkapsulasi: Simpan fungsi yang berkaitan bersama-sama.
  3. Bacaan: Buat kode Anda mudah dipahami.
  4. Modularitas: Pisahkan aplikasi Anda menjadi bagian yang lebih kecil dan mudah dikelola.

Sekarang, mari kita roll up lengan dan masuk ke dalam membuat directive khusus pertama kita!

Contoh: Membuat Directive Khusus Sederhana

Langkah 1: Menyiapkan Aplikasi AngularJS

Pertama, mari kita buat aplikasi AngularJS dasar. Jangan khawatir, itu lebih mudah daripada yang Anda pikirkan!

<!DOCTYPE html>
<html ng-app="myApp">
<head>
<title>Directive Khusus Pertama Saya</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js"></script>
</head>
<body>
<div ng-controller="MyController">
<!-- Kita akan menambahkan directive khusus kita di sini -->
</div>

<script>
var app = angular.module('myApp', []);
app.controller('MyController', function($scope) {
// Kita akan menambahkan logika kontroler di sini
});
</script>
</body>
</html>

Ini mensetup aplikasi AngularJS dasar bernama 'myApp' dengan kontroler bernama 'MyController'. Picturing the controller as the brain of our application.

Langkah 2: Membuat Directive Khusus

Sekarang, mari kita tambahkan directive khusus kita. Kita akan membuat directive sederhana salam.

app.directive('myGreeting', function() {
return {
restrict: 'E',
template: '<h1>Hallo, {{name}}!</h1>',
scope: {
name: '@'
}
};
});

mari kitauraikan ini:

  • app.directive('myGreeting', function() { ... }): Ini menciptakan directive baru bernama 'myGreeting'.
  • restrict: 'E': Ini memberitahu AngularJS bahwa directive kita akan digunakan sebagai elemen HTML baru.
  • template: '<h1>Hallo, {{name}}!</h1>': Ini adalah template HTML untuk directive kita.
  • scope: { name: '@' }: Ini menciptakan scope terisolasi untuk directive kita, dengan atribut 'name' yang kita dapatkan.

Langkah 3: Menggunakan Directive Khusus

Sekarang, mari kita gunakan directive baru yang berkilau di HTML kita:

<div ng-controller="MyController">
<my-greeting name="Dunia"></my-greeting>
</div>

Output

Ketika Anda menjalankan kode ini, Anda akan melihat:

Hallo, Dunia!

Selamat! Anda baru saja menciptakan dan menggunakan directive khusus pertama Anda!

Fitur Directive Khusus Lanjut

Sekarang kita sudah mengetahui dasar-dasar, mari kita jelajahi beberapa fitur directive khusus yang lebih lanjut.

Directive Dengan Controller

Kita dapat menambahkan kontroler ke directive kita untuk perilaku yang lebih kompleks:

app.directive('myAdvancedGreeting', function() {
return {
restrict: 'E',
template: '<h2>{{greeting}}, {{name}}!</h2>',
scope: {
name: '@'
},
controller: function($scope) {
var greetings = ['Hallo', 'Hi', 'Hey', 'Howdy'];
$scope.greeting = greetings[Math.floor(Math.random() * greetings.length)];
}
};
});

Directive ini akan secara acak memilih salam setiap kali digunakan:

<my-advanced-greeting name="Pembelajar AngularJS"></my-advanced-greeting>

Anda mungkin melihat:

Howdy, Pembelajar AngularJS!

Atau:

Hi, Pembelajar AngularJS!

Directive Dengan Fungsi Link

Fungsi link adalah tempat Anda dapat manipulasi DOM:

app.directive('myColorfulGreeting', function() {
return {
restrict: 'E',
template: '<h3>Hallo, {{name}}!</h3>',
scope: {
name: '@'
},
link: function(scope, element, attrs) {
var colors = ['merah', 'biru', 'hijau', 'ungu', 'oranye'];
var randomColor = colors[Math.floor(Math.random() * colors.length)];
element.css('color', randomColor);
}
};
});

Directive ini akan menampilkan salam dalam warna acak:

<my-colorful-greeting name="Dunia Warna"></my-colorful-greeting>

Tabel Metode

Berikut adalah tabel yang menggabungkan metode utama yang kita gunakan dalam directives khusus kita:

Metode Deskripsi
restrict Menentukan bagaimana directive dapat digunakan (E: Elemen, A: Atribut, C: Kelas, M: Komentar)
template Menentukan template HTML untuk directive
scope Membuat scope terisolasi untuk directive
controller Mendefinisikan kontroler untuk directive
link Memungkinkan manipulasi DOM langsung dan menambahkan perilaku ke directive

Kesimpulan

Selamat! Anda baru saja mengambil langkah pertama ke dalam dunia menakjubkan directives khusus AngularJS. Kita telah menuturi dasar-dasar membuat directive sederhana, dan bahkan mencicipi konsep yang lebih lanjut seperti kontroler dan fungsi link.

Ingat, membuat directives khusus adalah seperti belajar superpower - itu memerlukan latihan, tetapi sekali Anda menguasaiinya, Anda akan dapat menciptakan komponen yang dinamis dan dapat digunakan kembali untuk aplikasi web Anda.

Terus mencoba, terus belajar, dan terutama, bersenang-senang! Dunia AngularJS luas dan menarik, dan Anda sekarang dilengkapi untuk menjelajahinya lebih jauh. Selamat berkoding, para master AngularJS masa depan!

Credits: Image by storyset