Angular Router - URL изменяется, но представление не загружается
Я только начал адаптировать приложение для навигации по угловым / ионным вкладкам и столкнулся с проблемой. Когда я нажимаю на ссылку в одном представлении (список всех поездок), меня выводят на экран с подробной информацией об этом конкретном путешествии. (Адаптировано из "чатов" в примере приложения. Однако оно не совсем работает. URL-адрес изменяется на ожидаемый URL-адрес, но представление / страница не меняется вообще. Когда я пытаюсь обновить страницу, меня берут вернуться к моему состоянию / странице по умолчанию.
Контроллерами являются:
.controller('JourneysController', function($scope, $log, JourneyHandler) {
'use strict';
$log.debug('Activating the journey controller');
$scope.journeys = JourneyHandler.getJourneys();
})
.controller('JourneyDetailController', function($scope, $stateParams, $log) {
'use strict';
$log.debug('Activating the journey detail controller');
$scope.journey = {
journeyId: 0,
journeyStart: new Date()
};
})
app.js
определяет состояния как:
.state('tab.journeys', {
url: '/journeys',
views: {
'tab-journeys': {
templateUrl: 'templates/tab-journeys.html',
controller: 'JourneysController'
}
}
})
.state('tab.journey-detail', {
url: '/journey',
views: {
'tab-journey-detail': {
templateUrl: 'templates/journey-detail.html',
controller: 'JourneyDetailController'
}
}
});
$urlRouterProvider.otherwise('/tab/dash');
и соответствующие шаблоны:tab-journeys.html
<ion-view view-title="My Journeys">
<ion-content>
<ion-list>
<ion-item class="item-remove-animate item-avatar item-icon-right" ng-repeat="journey in journeys" type="item-text-wrap" href="#/tab/journey">
<h2>{{journey.journeyId}}</h2>
<p>{{journey.routeId}}</p>
<i class="icon ion-chevron-right icon-accessory"></i>
<ion-option-button class="button-assertive">
Delete
</ion-option-button>
</ion-item>
</ion-list>
</ion-content>
</ion-view>
и trip-detail.html
<ion-view view-title="Journey Detail">
<ion-content>
<p>This is where the journey details will go.</p>
</ion-content>
</ion-view>
В консоли нет ошибок, поэтому я не могу понять, почему она не работает.
1 ответ
Когда я столкнулся с той же самой проблемой, я обнаружил, что ошибка происходит, потому что контроллер не загружался.
Прокомментируйте контроллер в объявлении состояния и посмотрите, работает ли он. Вам нужно будет проверить контроллер.