Ich möchte die .state('name')
zurückgeben, wenn ich den Standort in eckig ändere.
Aus meiner run()
kann es geben die $state
Objekt:
.run(function($rootScope, Analytics, $location, $stateParams, $state) {
console.log($state);
aber wenn ich versuche $state.current
zu bekommen, ist es leer Objekt
.run(function($rootScope, $location, $stateParams, $state) {
console.log($state.current);
Konfigurationsbeispiel:
.config(function($stateProvider, $urlRouterProvider, AnalyticsProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider
.state('home', {
url: '/',
views: {
'': {
templateUrl: 'views/main.html',
controller: 'MainCtrl'
},
'[email protected]': {
templateUrl: 'views/partials/navigation.html',
controller: 'NavigationCtrl'
},
'[email protected]': {
templateUrl: 'views/partials/weekly.html',
controller: 'WeeklyCtrl'
},
'[email protected]': {
templateUrl: 'views/partials/side-panel.html',
controller: 'SidePanelCtrl'
},
'[email protected]': {
templateUrl: 'views/partials/shop-panel.html',
controller: 'ShopPanelCtrl'
},
'[email protected]': {
templateUrl: 'views/partials/footer.html',
controller: 'FooterCtrl'
}
}
})
Können Sie bitte erläutern, warum der Code in der Frage nicht funktioniert hat? – dmr07
Es wurde veraltet; Sie müssen die IHookRegistry jetzt @ danm07 http://angular-ui.github.io/ui-router/feature-1.0/interfaces/transition.ihookregistry.html#onstart verwenden. –
Dieses Snippet zeigt den Namen jedes Staates, wenn es lädt auf der Seite ... $ rootScope. $ on ('$ stateChangeSuccess', Funktion() { Warnung ($ state.current.name); } ); –