누군가 AngularJS 컨트롤러의 라이프 사이클이 무엇인지 명확히 할 수 있습니까?
- 컨트롤러는 싱글 톤입니까, 필요에 따라 생성 / 파괴됩니까?
- 후자가 컨트롤러의 생성 / 파괴를 유발하는 요인은 무엇입니까?
아래 예를 고려하십시오.
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});
});
예 :
위의 예에서로 이동하면 /users/1
사용자 1 이로 드되고로 설정됩니다 $scope
.
그런 다음로 이동하면 /users/2
사용자 2 가로 드됩니다. 동일한 인스턴스가 UserEditorCtrl
재사용되거나 새 인스턴스가 작성됩니까?
- 새 인스턴스 인 경우 첫 번째 인스턴스가 파괴되는 원인은 무엇입니까?
- 재사용되는 경우 어떻게 작동합니까? (즉, 데이터를로드하는 방법은 컨트롤러 생성시 실행되는 것으로 나타남)