html5history $ locationProvider не работает с $ stateProvider

angularjs angular-ui-router state yeoman-generator-angular

209 просмотра

1 ответ

904 Репутация автора

В моем приложении я пытался настроить это правильно для каждого сообщения в блоге, о котором я говорил, но я не могу загрузить приложение по /URL. Я создал приложение с угловым генератором Йомана, чтобы оно использовало grunt для раскрутки сервера соединений. Но при переходе к localhost:9000приложению больше не отображается приложение, поскольку оно пытается добавить $locationProviderи установить для html5location значение true.

angular.module('bidrAdminApp', ['sky','ui.router','ngSanitize'])
  .config(function ($stateProvider,$urlRouterProvider,$locationProvider) {
  $stateProvider
    .state('Home',{
      url: '',
      templateUrl: 'views/index.html',
      controller: 'ApplicationCtrl'
    })
    .state('Home.Events', {
      url: '/events',
      templateUrl: 'views/events/index.html',
      controller: 'EventsCtrl'
    })
    .state('Home.Event',{
      url: '/events/{eventId}',
      templateUrl: 'views/events/event/index.html',
      controller: 'EventCtrl'
    })
    .state('Home.Event.Overview',{
      parent: 'Home.Event',
      url: '/overview',
      templateUrl: 'views/events/event/overview.html',
    })
    .state('Home.Event.Settings',{
      parent: 'Home.Event',
      url: '/',
      templateUrl: 'views/events/event/settings.html',
    });
    $urlRouterProvider.otherwise('');
    $locationProvider.html5Mode(true);
});

У меня <base href="/" />в голове также есть файл index.html.

Если я изменю Homeсостояние, url: '/admin'оно будет работать, /adminно это не желаемый результат. Не уверен, что мне не хватает конфигурации.

Автор: Jordan Источник Размещён: 18.07.2016 01:52

Ответы (1)


1 плюс

36 Репутация автора

Решение

Измените эту строку:

$urlRouterProvider.otherwise('');

к этой строке:

$urlRouterProvider.otherwise('/');

Автор: GiuliaL Размещён: 02.07.2017 05:58
Вопросы из категории :
32x32