AngularJS Factory

In AngularJS services can be created using service, factory and provider. Service object contains few useful functions that you can call from Controllers, Directive and Filters etc.

A factory is a simple Javascript function which allows you to add some logic before creating the object. It returns the created object.

Syntax

var module = angular.module('myapp', []);  
module.factory('serviceName', function(){  
    return serviceObject;  
});  

Example

<html>    
<head> <!-- www.techstrikers.com -->    
<title>My first AngularJS Factory code</title>    
<Script SRC="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.13/angular.js">    
</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.substract = 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.doSubstraction = function() {   
        $scope.answer = calculatorService.substract($scope.number,$scope.number);    
    }   
    $scope.doDivision = function() {   
        $scope.answer = calculatorService.divide($scope.number,$scope.number);    
    }   
});    
</script>    
</head>    
<body style="background-color:#DDE4E9;">    
<fieldset style="background-color:#DDE4E9;">          
    <legend>AngulerJS Factory Example</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="doSubstraction()">Substraction</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>    
    
</div>  
        </fieldset>   
</body>    
</html>  
Try Now

See Also

AngularJS Built-in Filters
AngularJS Built-in Directives
AngularJS Expression
AngularJS Built-in Events
AngularJS Scope Methods
AngularJS Built-in Services
AngularJS Controller Inheritance
AngularJS Custom Directives


 
 
SHARE THIS IF YOU LIKE!
submit to reddit

SUBSCRIBE FOR LATEST UPDATES
HAVE WE CONNECTED ON FACEBOOK?
TOP TUTORIALSTOP CODE EXAMPLESTOP LIVE DEMOLINKSSTAY CONNECTED
HTML Tutorial
HTML5 Tutorial
Bootstrap3 Tutorial
Javascript Tutorial
TypeScript Tutorial
AngularJS Tutorial
CSharp Tutorial
PHP Tutorial
Developer Tools
Javascript
AngularJS
Google MAP API V3
ASP.NET
Javascript
AngularJS
Google MAP API V3
Contact Us
Advertise with Us
Privacy Policy
Disclaimer
Stay connected. We actually like you. If you want to get up to the minute updates, then connect with us on your fav below.
 
Twitter   Linkedin   Facebook   Google+    RSS   Pinterest
 
Protected by Copyscape Original Content Checker
 
 
Copyright ©2017 www.techstrikers.com Unauthorized reproduction/replication of any part of this site is prohibited.