AngularJS - Modul
AngularJS mendukung pendekatan modular. Modul digunakan untuk memisahkan logika seperti layanan, pengontrol, aplikasi, dll. Dari kode dan menjaga kode tetap bersih. Kami mendefinisikan modul dalam file js terpisah dan menamainya sesuai dengan file module.js. Pada contoh berikut, kita akan membuat dua modul -
Application Module - digunakan untuk menginisialisasi aplikasi dengan pengontrol.
Controller Module - digunakan untuk menentukan pengontrol.
Modul Aplikasi
Berikut adalah file bernama mainApp.js yang berisi kode berikut -
var mainApp = angular.module("mainApp", []);
Di sini, kami mendeklarasikan aplikasi mainAppmodul menggunakan fungsi angular.module dan meneruskan array kosong ke sana. Array ini umumnya berisi modul dependen.
Modul Pengontrol
studentController.js
mainApp.controller("studentController", function($scope) {
$scope.student = {
firstName: "Mahesh",
lastName: "Parashar",
fees:500,
subjects:[
{name:'Physics',marks:70},
{name:'Chemistry',marks:80},
{name:'Math',marks:65},
{name:'English',marks:75},
{name:'Hindi',marks:67}
],
fullName: function() {
var studentObject;
studentObject = $scope.student;
return studentObject.firstName + " " + studentObject.lastName;
}
};
});
Di sini, kami mendeklarasikan pengontrol studentController modul menggunakan fungsi mainApp.controller.
Gunakan Modul
<div ng-app = "mainApp" ng-controller = "studentController">
...
<script src = "mainApp.js"></script>
<script src = "studentController.js"></script>
</div>
Di sini kita menggunakan modul aplikasi menggunakan direktif ng-app, dan pengontrol menggunakan direktif ngcontroller. Kami mengimpor mainApp.js dan studentController.js di halaman HTML utama.
Contoh
Contoh berikut menunjukkan penggunaan semua modul yang disebutkan di atas.
testAngularJS.htm
<html>
<head>
<title>Angular JS Modules</title>
<script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script src = "/angularjs/src/module/mainApp.js"></script>
<script src = "/angularjs/src/module/studentController.js"></script>
<style>
table, th , td {
border: 1px solid grey;
border-collapse: collapse;
padding: 5px;
}
table tr:nth-child(odd) {
background-color: #f2f2f2;
}
table tr:nth-child(even) {
background-color: #ffffff;
}
</style>
</head>
<body>
<h2>AngularJS Sample Application</h2>
<div ng-app = "mainApp" ng-controller = "studentController">
<table border = "0">
<tr>
<td>Enter first name:</td>
<td><input type = "text" ng-model = "student.firstName"></td>
</tr>
<tr>
<td>Enter last name: </td>
<td><input type = "text" ng-model = "student.lastName"></td>
</tr>
<tr>
<td>Name: </td>
<td>{{student.fullName()}}</td>
</tr>
<tr>
<td>Subject:</td>
<td>
<table>
<tr>
<th>Name</th>
<th>Marks</th>
</tr>
<tr ng-repeat = "subject in student.subjects">
<td>{{ subject.name }}</td>
<td>{{ subject.marks }}</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body>
</html>
mainApp.js
var mainApp = angular.module("mainApp", []);
studentController.js
mainApp.controller("studentController", function($scope) {
$scope.student = {
firstName: "Mahesh",
lastName: "Parashar",
fees:500,
subjects:[
{name:'Physics',marks:70},
{name:'Chemistry',marks:80},
{name:'Math',marks:65},
{name:'English',marks:75},
{name:'Hindi',marks:67}
],
fullName: function() {
var studentObject;
studentObject = $scope.student;
return studentObject.firstName + " " + studentObject.lastName;
}
};
});
Keluaran
Buka file textAngularJS.htm di browser web. Lihat hasilnya.