convert a service to a factory in AngularJS -


i have written following service in angularjs, how/what do change factory? , also, advantages/differences when factory used instead of service?

angular.module('helloapp').service('popupservice', function() {     var popup;      var setter = function(parameter) {         popup = parameter;     };      var getter = function() {         return popup;     };      return {         setter: setter,         getter: getter     }; }); 

thanks in advance

to change it, first should declare in module factory

angular.module('helloapp').factory('popupservice', function() {     var popup;      var setter = function(parameter) {         popup = parameter;     };      var getter = function() {         return popup;     };      return {         setter: setter,         getter: getter     }; } 

this question (factory vs service) 1 of popular in stackoverflow : angularjs: service vs provider vs factory

services

syntax: module.service( 'servicename', function );

result: when declaring servicename injectable argument provided instance of function. in other words new functionyoupassedtoservice().

factories

syntax: module.factory( 'factoryname', function );

result: when declaring factoryname injectable argument provided value returned invoking function reference passed module.factory.

official documentation

also can find official documentation on angular website :


Comments