angular.module('xmpl.service', [])
.value('greeter', {
salutation: 'Hello',
localize: function (localization) {
console.log('greeter.localize');
this.salutation = localization.salutation;
},
greet: function (name) {
console.log('greeter.greet');
return this.salutation + ' ' + name + '!';
}
})
.value('user', {
load: function (name) {
console.log('user.load');
this.name = name;
}
});
angular.module('xmpl.directive', []);
angular.module('xmpl.filter', []);
angular.module('xmpl', ['xmpl.service', 'xmpl.directive', 'xmpl.filter'])
.run(function (greeter, user) {
// This is effectively part of the main method initialization code
console.log('xmpl run block');
greeter.localize({
salutation: 'Bonjour'
});
user.load('World');
})
.controller('XmplController', function ($scope, greeter, user) {
console.log('XmplController');
$scope.greeting = greeter.greet(user.name);
});
<div ng-app='xmpl'>
<div class='text' ng-controller="XmplController">{{ greeting }}</div>
</div>
.text {
display: inline-block;
padding: 8px 16px;
background-color: #ddd;
}