Quelqu'un peut-il préciser ce que le cycle de vie d'un AngularJS est un contrôleur?
- Est un contrôleur à un singleton, ou créé ou détruit à la demande?
- Si ce dernier, ce qui déclenche la création / destruction de la manette?
Considérons l'exemple ci-dessous:
var demoApp = angular.module('demo')
.config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/home', {templateUrl: '/home.html', controller: 'HomeCtrl'})
.when('/users',{templateUrl: '/users.html', controller: 'UsersCtrl'})
.when('/users/:userId', {templateUrl: '/userEditor.html', controller: 'UserEditorCtrl'});
});
demoApp.controller('UserEditorCtrl', function($scope, $routeParams, UserResource) {
$scope.user = UserResource.get({id: $routeParams.userId});
});
par exemple:
Dans l'exemple ci-dessus, lorsque je navigue à /users/1
,l'utilisateur 1 est chargé, et de définir à l' $scope
.
Puis, quand j'ai accédez /users/2
, l'utilisateur 2 est chargé. Est la même instance d' UserEditorCtrl
réutilisés, ou est une nouvelle instance créée?
- Si c'est une nouvelle instance, ce qui déclenche la destruction de la première instance?
- Si elle est réutilisée, comment cela fonctionne? (c'est à dire., la méthode pour charger les données semble fonctionner sur la création du contrôleur)