2015-12-03 2 views
2

Когда я пытаюсь перейти непосредственно к URL-адресу, например mysite.com/#!/about, я всегда перенаправляюсь в исходное состояние. У меня есть меню с ui-sref ссылками, которые работают нормально. Он работает отлично с ngRoute но вложенные состояния, так что я не могу переключиться ... Как вы можете видеть, что я не делаю ничего особенного ... Вы можете проверить полный исходный код здесь: https://github.com/misterch0c/SL-frontendНевозможно изменить состояние из строки url с помощью ui-router

.config(function($locationProvider, $stateProvider, $urlRouterProvider, $popoverProvider, envServiceProvider, ngDialogProvider) { 
$locationProvider.hashPrefix('!'); 
$stateProvider 
    .state('home', { 
     url: 'home', 
     views: { 
      '': { 
       templateUrl: 'views/home.html', 
       controller: 'HomeCtrl' 
      }, 
      '[email protected]': { 
       templateUrl: 'views/filters.html', 
       controller: 'FiltersCtrl' 
      }, 
     } 
    }) 

    .state('about', { 
     url: 'about', 
     templateUrl: 'views/about.html', 
     controller: 'AboutCtrl', 
    }); 

angular.extend($popoverProvider.defaults, { 
    placement: "bottom", 
}); 

}) 

.run(['$state', 
    function($state) { 
    $state.transitionTo('home'); 
}]); 

ответ

1

Try определить ваш URL (каждое государство) с слэшем '/'

$stateProvider 
    .state('home', { 
     url: '/home', 
     ... 
+1

Вау ... это было. Большое спасибо! Я был в этом несколько дней ... Я чувствую себя глупо, так выпущен в то же время – user3916237

Смежные вопросы