определение объема и контроллера с помощью маршрутизатора пользовательского интерфейса
Я не понимаю, когда создаются экземпляры контроллеров. Кроме того, как создаются экземпляры контроллеров при вложении состояний. Я мог бы быть смущен тем, как область видимости присоединяется к представлению и контроллеру, то есть, если каждое представление получает свой собственный контроллер и область действия или они совместно используют одну и ту же область действия.
Может кто-нибудь объяснить, когда создаются экземпляры контроллеров? Под вложенными маршрутами все представления разделяют один контроллер и область? Что происходит, когда я переключаю состояния и возвращаюсь в состояние, инстанцируется другой контроллер?
Ниже приведены мои маршруты (файл конфигурации):
.config (googleAnalyticsCordovaProvider, $stateProvider, $urlRouterProvider, IdleProvider, KeepaliveProvider) ->
$stateProvider
.state('app', {
url: '/app',
abstract: true,
templateUrl: 'templates/menu.html',
controller: 'AppController'
})
.state('app.pincode', {
url: '/pincode',
views: {
menuContent: {
templateUrl: 'templates/pincode-yield.html',
controller: 'PincodeController'
}
}
})
.state('app.pincode.create', {
url: '/create',
views: {
pincode: {
templateUrl: 'templates/pincode-create.html',
controller: 'PincodeController'
}
}
})
.state('app.pincode.pincodeLogin', {
url: '/login',
views: {
pincode: {
templateUrl: 'templates/pincode-login.html',
controller: 'PincodeController'
}
}
})
.state('app.pincode.settings', {
url: '/settings',
views: {
pincode: {
templateUrl: 'templates/settings.html',
controller: 'PincodeController'
}
}
})