32 lines
775 B
Markdown
32 lines
775 B
Markdown
# .cadoles-slide-title[Les services (1/2)]
|
|
|
|
- Instanciés à la volée
|
|
- En mode "singleton" _(une seule instance pour l'ensemble de l'application)_
|
|
|
|
**Injection de dépendances**
|
|
```js
|
|
// Différentes notations
|
|
|
|
var MyApp = angular.module('MyApp', []);
|
|
|
|
// La plus classique, via passage de tableau déclarant les dépendances
|
|
// et fonction anonyme en dernier élément
|
|
|
|
MyApp.controller('FirstCtrl', ['$scope', function($scope) {
|
|
$scope.myProp = 'foo';
|
|
}]);
|
|
|
|
// --------------------------
|
|
|
|
// Via propriété $inject
|
|
|
|
function SecondCtrl($scope) {
|
|
$scope.myProp = 'foo';
|
|
}
|
|
// Déclaration des dépendances via la propriété $inject sur le constructeur
|
|
SecondCtrl.$inject = ['$scope'];
|
|
|
|
// Enregistrement du contrôleur
|
|
MyApp.controller('SecondCtrl', SecondCtrl);
|
|
```
|