Expressions and Controllers in Angular JS

Last updated on May 31 2022
Santosh Prakash

Table of Contents

Expressions and Controllers in Angular JS

Expressions are used to bind application data to html. Expressions are written inside double braces like {{ expression}}. Expressions behaves in same way as ng-bind directives. AngularJS application expressions are pure javascript expressions and outputs the data where they are used.

Using numbers

<p>Expense on Books : {{cost * quantity}} Rs</p>

Using strings

<p>Hello {{student.firstname + ” ” + student.lastname}}!</p>

Using object

<p>Roll No: {{student.rollno}}</p>

Using array

<p>Marks(Math): {{marks[3]}}</p>

Example

Following example will showcase all the above mentioned expressions.

testAngularJS.htm

<html>

<head>

<title>AngularJS Expressions</title>

</head>

 

<body>

<h1>Sample Application</h1>

 

<div ng-app = “” ng-init = “quantity = 1;cost = 30;

student = {firstname:’Mahesh’,lastname:’Parashar’,rollno:101};

marks = [80,90,75,73,60]”>

<p>Hello {{student.firstname + ” ” + student.lastname}}!</p>

<p>Expense on Books : {{cost * quantity}} Rs</p>

<p>Roll No: {{student.rollno}}</p>

<p>Marks(Math): {{marks[3]}}</p>

</div>

 

<script src = “https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js”>

</script>

 

</body>

</html>

Output

Open textAngularJS.htm in a web browser. See the result.

AngularJS – Controllers

AngularJS application mainly relies on controllers to control the flow of data in the application. A controller is defined using ng-controller directive. A controller is a JavaScript object containing attributes/properties and functions. Each controller accepts $scope as a parameter which refers to the application/module that controller is to control.

<div ng-app = “” ng-controller = “studentController”>

</div>

Here we’ve declared a controller studentController using ng-controller directive. As a next step we’ll define the studentController as follows −

<script>

function studentController($scope) {

$scope.student = {

firstName: “Mahesh”,

lastName: “Parashar”,

 

fullName: function() {

var studentObject;

studentObject = $scope.student;

return studentObject.firstName + ” ” + studentObject.lastName;

}

};

}

</script>

  • studentController defined as a JavaScript object with $scope as argument.
  • $scope refers to application which is to use the studentController object.
  • $scope.student is property of studentController object.
  • firstName and lastName are two properties of $scope.student object. We’ve passed the default values to them.
  • fullName is the function of $scope.student object whose task is to return the combined name.
  • In fullName function we’re getting the student object and then return the combined name.
  • As a note, we can also define the controller object in separate JS file and refer that file in the html page.

Now we can use studentController’s student property using ng-model or using expressions as follows.

Enter first name: <input type = “text” ng-model = “student.firstName”><br>

Enter last name: <input type = “text” ng-model = “student.lastName”><br>

<br>

You are entering: {{student.fullName()}}

  • We’ve bounded student.firstName and student.lastname to two input boxes.
  • We’ve bounded student.fullName() to HTML.
  • Now whenever you type anything in first name and last name input boxes, you can see the full name getting updated automatically.

Example

Following example will showcase use of controller.

testAngularJS.htm

 

<html>

<head>

<title>Angular JS Controller</title>

<script src = “https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js”>

</script>

</head>

 

<body>

<h2>AngularJS Sample Application</h2>

 

<div ng-app = “mainApp” ng-controller = “studentController”>

Enter first name: <input type = “text” ng-model = “student.firstName”><br>

<br>

Enter last name: <input type = “text” ng-model = “student.lastName”><br>

<br>

You are entering: {{student.fullName()}}

</div>

 

<script>

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

 

mainApp.controller(‘studentController’, function($scope) {

$scope.student = {

firstName: “Mahesh”,

lastName: “Parashar”,

 

fullName: function() {

var studentObject;

studentObject = $scope.student;

return studentObject.firstName + ” ” + studentObject.lastName;

}

};

});

</script>

 

</body>

</html>

Output

Open textAngularJS.htm in a web browser. See the result.

So, this brings us to the end of blog. This Tecklearn ‘Expressions and Controllers in Angular JS’ blog helps you with commonly asked questions if you are looking out for a job in Angular JS and Front-End Development. If you wish to learn Angular JS and build a career in Front-End Development domain, then check out our interactive, Angular JS Training that comes with 24*7 support to guide you throughout your learning period. Please find the link for course details:

https://www.tecklearn.com/course/angular-js-training/

Angular JS Training

About the Course

Angular JS certification training is designed for developers who are responsible for building applications using AngularJS. Through a combination of presentations and hands-on practices, participants will explore Angular comprehensively and learn to build components, directives, template-driven forms, routing, etc. for complex data-centric (enterprise) applications. This Angular online training will update your knowledge and skills with the current Angular version to lift your career.

Why Should you take Angular JS Training?

  • The average salary for “Angular Developer” ranges from approximately $92,814 per year for a Developer to $113,069 per year for a Full Stack Developer (Indeed.com).
  • YouTube, Google, Cisco, Nike, Samsung, Microsoft, Forbes, BMW and many Fortune 500 companies are using Angular as their front-end development framework to deliver an engaging user experience.
  • Angular’s powerful cross-platform feature allows developers to build progressive web applications and native mobile applications.

What you will Learn in this Course?

Introduction to Angular

  • Introduction to Angular
  • Comparison between front-end tools
  • Angular Architecture
  • Building blocks of Angular
  • Angular Installation
  • Angular CLI
  • Angular CLI commands
  • Angular Modules

Angular Components and Data Binding

  • Working of Angular Applications
  • Angular App Bootstrapping
  • Angular Components
  • Creating A Component Through Angular CLI
  • Ways to specify selectors
  • Template and styles
  • Installing bootstrap to design application
  • Data Binding
  • Types of Data Binding
  • Component Interaction using @Input and @Output decorator
  • Angular Animations

TypeScript

  • What is TypeScript
  • Need of TypeScript
  • How to install TypeScript
  • Nodemon for monitoring changes
  • Interfaces in Class, String Templates, Maps,
  • Sets and Object Restructuring

Directives and Pipes in Angular

  • Angular Directives
  • @Component Directive
  • Structural Directives
  • Attribute Directives
  • Custom Directives
  • Pipes
  • Built-in Pipes
  • Chaining pipes
  • Custom pipes
  • Pipe Transform Interface & Transform Function
  • Pure and Impure pipes

Angular Services and Dependency Injection

  • Angular service
  • Need for a service
  • Dependency Injection
  • Creating a service
  • Hierarchical Injector
  • Injecting A Service into Another Service
  • Observables
  • RxJS Library
  • Angular’s Interaction with Backend
  • Parts of an Http Request
  • HttpClient

Forms in Angular

  • Forms in Angular
  • What are their functions
  • Advantages of Forms
  • Various Types of Forms
  • What is Angular Validation and Model driven approach

Angular Routing

  • Angular Routing
  • Angular Routing benefits and features
  • Building a single page application and updating it dynamically with Angular Routing
  • What is Parameter Routing
  • Router Lifecycle Hooks and Child Routes

Authentication and Security in Angular

  • What is Authentication?
  • Authentication and authorization
  • Types of Authentication
  • Where to store tokens?
  • JSON Web Tokens (JWT)
  • Authentication in Angular application
  • Security threats in web application

Testing Angular applications

  • Testing of Angular applications
  • Deployment of Angular Test Bed for testing on Angular framework
  • Setup of various tools for testing
  • Testing services in Angular Framework
  • E2E and Document Object Model testing

Got a question for us? Please mention it in the comments section and we will get back to you.

0 responses on "Expressions and Controllers in Angular JS"

Leave a Message

Your email address will not be published. Required fields are marked *