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 ответ

Когда я столкнулся с той же самой проблемой, я обнаружил, что ошибка происходит, потому что контроллер не загружался.

Прокомментируйте контроллер в объявлении состояния и посмотрите, работает ли он. Вам нужно будет проверить контроллер.

Другие вопросы по тегам