<!DOCTYPE html>
<
html
>
<
head
>
<
title
>Angular Factory function</
title
>
<
script
src
=
</
script
>
<
script
>
//Defining Factory
var app = angular.module('app', []);
app.factory('calculatorService', function () {
var calculator = {};
calculator.multiply = function (a, b) { return a * b };
calculator.add = function (a, b) { return a + b };
calculator.subtract = function (a, b) { return a - b };
calculator.divide = function (a, b) { return a / b };
return calculator;
});
app.controller('CalculatorController',
function ($scope, calculatorService) {
$scope.doMultiply = function () {
$scope.answer =
calculatorService.multiply($scope.number, $scope.number);
}
$scope.doAddition = function () {
$scope.answer =
calculatorService.add($scope.number, $scope.number);
}
$scope.doSubtraction = function () {
$scope.answer =
calculatorService.subtract($scope.number, $scope.number);
}
$scope.doDivision = function () {
$scope.answer =
calculatorService.divide($scope.number, $scope.number);
}
});
</
script
>
</
head
>
<
body
style
=
"background-color: #618235;"
>
<
h1
style
=
"color: rgb(214, 205, 205);"
>
GeeksforGeeks
</
h1
>
<
h3
style
=
"color: rgb(214, 208, 208);"
>
Angular Factory function
</
h3
>
<
fieldset
style
=
"background-color : #FFFACD;"
>
<
legend
>AngularJS Factory Function</
legend
>
<
div
ng-app
=
"app"
>
<
div
ng-controller
=
"CalculatorController"
>
Enter a number:
<
input
ng-model
=
"number"
type
=
"number"
>
<
button
ng-click
=
"doMultiply()"
>
Multiply
</
button
><
br
>
Enter a number:
<
input
ng-model
=
"number"
type
=
"number"
>
<
button
ng-click
=
"doAddition()"
>
Addition
</
button
> <
br
>
Enter a number:
<
input
ng-model
=
"number"
type
=
"number"
>
<
button
ng-click
=
"doSubtraction()"
>
Subtraction
</
button
> <
br
>
Enter a number:
<
input
ng-model
=
"number"
type
=
"number"
>
<
button
ng-click
=
"doDivision()"
>
Division
</
button
>
<
p
style="font-family:Arial;
color:yellow;
background:steelblue;
padding:3px;
width:350px;">
Answer: {{answer}}
</
p
>
</
div
>
</
div
>
</
fieldset
>
</
body
>
</
html
>