AngularJS Service Dependencies
by Edward Tanguay
HTML
<div ng-app="app">
<div ng-controller="CalculatorController">
<ul>
<li ng-repeat="person in persons">
{{person.display()}}
</li>
</ul>
</div>
</div>
CSS
body {
font-family:sans-serif;
background-color: #f5f5f5;
}
div {
margin:20px 5px;
}
JavaScript
function Person(firstName, lastName) {
return {
display : function() {
return lastName + ', ' + firstName;
},
display2 : function() {
return lastName + ', ' + firstName;
}
}
}
function Customer(firstName, lastName, company) {
var person = Person(firstName, lastName);
person.display = function(display) {
return function() {
return display.call(person) + ' ('+ company+')';
};
}(person.display2);
return person;
}
angular.module('app', [])
.controller('CalculatorController', function($scope) {
$scope.persons = [];
$scope.persons.push(Person('Jim', 'Thompson'));
$scope.persons.push(Person('Jack', 'Harrison'));
$scope.persons.push(Customer('Mandy', 'Baker', 'Acme Inc.'));
});