Ejemplo de servicios, agrega la palabra clave this, pero muy parecido el funcionamiento a las factorias que están en el ejemplo anterior.
Dos archivos app.js e index.html
app.js
var app = angular.module(“app”, []);
app.service(‘ServiceUsers’, function()
{
this.usuarios = function()
{
return [
{
id : 0,
nombre : “Marcelo”,
edad : “33 años”
},
{
id : 1,
nombre : “Pablo”,
edad : “24 años”
},
{
id : 2,
nombre : “Juan”,
edad : “28 años”
},
{
id : 3,
nombre : “test”,
edad : “18 años”
},
{
id : 4,
nombre : “test 2”,
edad : “45 años”
}
]
}
});
app.controller(‘servicioController’, [‘$scope’,’ServiceUsers’, function($scope, ServiceUsers)
{
$scope.usuarios = ServiceUsers.usuarios();
}]);
Index.html
<!DOCTYPE html>
<html lang=”es” ng-app=”app”>
<head>
<meta charset=”utf-8″>
<title>Servicios en Angular</title>
<link rel=”stylesheet” type=”text/css” href=”bower_components/bootstrap/dist/css/bootstrap.css” />
<script type=”text/javascript” src=”bower_components/angular/angular.js”></script>
<script type=”text/javascript” src=”bower_components/angular-route/angular-route.js”></script>
<script type=”text/javascript” src=”app.js”></script>
</head>
<body>
<div class=”container”>
<div class=”row” ng-controller=”servicioController”>
<h1 class=”heading text-center”>Información del servicio</h1>
<ul class=”panel panel-info”>
<li ng-repeat=”usuario in usuarios”>
<p>Id: {{ usuario.id }} Nombre: {{ usuario.nombre }} Edad: {{ usuario.edad }}</p>
</li>
</ul>
</div>
</div>
</body>
</html>