We now have a youtube channel. Subscribe!

AngularJS | Modules

AngularJS Modules


Hello folks! welcome back to a new edition of our tutorial on AngularJS. In this tutorial guide, we will be studying about AngularJS Modules.

AngularJS supports the modular approach. Modules are used to separate logic such as services, controllers, applications, etc. from the code and keep the code neat. We define modules in separate js files and name them as per the module.js file.

Types of AngularJS Modules

Types of AngularJS Modules

AngularJS has two types of modules which we are going to create in this tutorial -

  • Application Module - Used to initialize an application with controller(s).
  • Controller Module - Used to define the controller.

Application Module

Here is a file named mainApp.js containing the following code -

var mainApp = angular.module("mainApp", []);

Here, we declared an application mainApp module using angular.module function and pass an empty array to it. This array usually contains dependent modules.

Controller Module

Create a file student controller.js.

mainApp.controller("studentController", function($scope) {
   $scope.student = {
      firstName: "Kennedy",
      lastName: "Nkpara",
      fees:500,
      
      subjects:[
         {name:'Physics',marks:70},
         {name:'Chemistry',marks:80},
         {name:'Math',marks:65},
         {name:'English',marks:75},
         {name:'Biology',marks:67}
      ],
      fullName: function() {
         var studentObject;
         studentObject = $scope.student;
         return studentObject.firstName + " " + studentObject.lastName;
      }
   };
});


We declared a controller studentController module using mainApp.controller function.

Use Modules

<div ng-app = "mainApp" ng-controller = "studentController">
   ...
   <script src = "mainApp.js"></script>
   <script src = "studentController.js"></script>
	
</div>

Here, we use application module via ng-app directive, and controller using ng-controller directive. We imported the mainApp.js and studentController.js in the main HTML page.

Example

The following example below illustrates the use of all the above mentioned modules -

Create a file testAngular.html.

<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: "Kennedy",
      lastName: "Nkpara",
      fees:1000,
      
      subjects:[
         {name:'Physics',marks:70},
         {name:'Chemistry',marks:80},
         {name:'Math',marks:65},
         {name:'English',marks:75},
         {name:'Biology',marks:67}
      ],
      fullName: function() {
         var studentObject;
         studentObject = $scope.student;
         return studentObject.firstName + " " + studentObject.lastName;
      }
   };
});

Output

Open the file testAngularJS.html in any web browser to see the result -

AngularJS Sample Application

Enter first name:
Enter last name:
Name:Kennedy Nkpara
Subject:
NameMarks
Physics70
Chemistry80
Math65
English75
Biology67


Alright guys! This is where we are going to be rounding up for this tutorial. In our next tutorial, we are going to be studying about AngularJS Forms.

Feel free to ask your questions where necessary and we will attend to them as soon as possible. If this tutorial was helpful to you, you can use the share button to share this tutorial.

Follow us on our various social media platforms to stay updated with our latest tutorials. You can also subscribe to our newsletter in order to get our tutorials delivered directly to your emails.

Thanks for reading and bye for now.

Post a Comment

Hello dear readers! Please kindly try your best to make sure your comments comply with our comment policy guidelines. You can visit our comment policy page to view these guidelines which are clearly stated. Thank you.
© 2023 ‧ WebDesignTutorialz. All rights reserved. Developed by Jago Desain