Я пытаюсь загрузить функцию JSON-службы получения в функцию разрешения основного состояния, чтобы я мог хранить данные в переменной области.Угловой ui-маршрутизатор не работает
Информация учетной записи JSON актуальна, поскольку все вспомогательные страницы в основном зависят от информации.
-
Приведенный ниже код частично работает. Функция разрешения учетной записи успешно вызвана, и даже $ http возвращает обещание (состояние === 0 хотя). Проблема заключается в том, когда функция account разрешает state.controller никогда не вызывается.
$stateProvider
.state('app',{
url: '/',
views: {
'header': {
templateUrl: '../views/templates/partials/header.html',
},
'content': {
templateUrl: '../views/templates/partials/content.html'
},
'footer': {
templateUrl: '../views/templates/partials/footer.html',
}
},
resolve: {
account: function($timeout, accountFactory){
//Comment
return $http({method: 'GET', url: '/account.json'});
}
},
controller: ['$scope', 'account', function($scope, account){
// You can be sure that promiseObj is ready to use!
$scope.data = account;
console.log('SCOPE!!!!!');
}],
})
.state('app.accessory', {
url: 'accessory',
views: {
'[email protected]': {
templateUrl: '../views/accessory/listing.html',
controller: 'accessoryListingCtrl',
controllerAs: 'vm'
}
}
})
}]);
Это был мой опыт, что при использовании нескольких видов, каждый нуждается в свой собственный контроллер и контроллер государства не получает пробег. (Таким образом, вы должны увидеть ту же проблему, даже если вы полностью удалили 'resolve'). – JAAulde
@JAAulde - разрешение не должно быть вложенным под каждым представлением. Просто испытал это сегодня утром. Любая разрешенная переменная, определенная на уровне «state», будет доступна для «просмотров». –
@RichardClayton я вижу. Я, к сожалению, поддерживаю старые браузеры и застрял на AngularJS 1.2.x, поэтому я честно понятия не имею, что возможно. Какую версию вы использовали, чтобы попробовать? – JAAulde