Маршрут по умолчанию для angular ui router

Образец демонстрации angular ui router имеет эту ссылку для начальной страницы:

полный URL-адрес 'ui-router' равен / или http://angular-ui.github.io/ui-router/sample/#/

полный URL-адрес 'about' равен /about или http://angular-ui.github.io/ui-router/sample/#/about

Когда я использовал durandalJS, существовало ограничение на то, что URL-адрес по умолчанию - "/" не может быть "/ui-router".

Имеет ли плагин angular ui router такое же ограничение?

Ответ 1

См. здесь есть опция "в противном случае" для маршрута по умолчанию.

Если вы говорите о параметрах PARAMETERS по умолчанию, то есть ответ здесь.

Ответ 2

Маршрут по умолчанию для ui-router может быть тем, чем вы хотите его видеть, нет никакого ограничения, как в DurandalJS. Просто используйте:

$stateProvider
    .state("otherwise", { url : '/otherwise'...})

Это официальная документация ui-router, однако я не мог найти там другую технику: https://github.com/angular-ui/ui-router/wiki

@apohi: ui-router не angular -route. Ваш ответ адресован неверному модулю.

Ответ 3

Вы можете сделать это следующим образом:

angular.module('MyApp', ['ui.router']).config([
  '$stateProvider', function ($stateProvider) {
     $stateProvider.state('default', {
     controller: 'MyController',
     templateUrl: 'path/to/index.html',
     url:''
  })
)];

Таким образом, всякий раз, когда url находится в корне вашего сайта, ui-router будет захватывать его в состоянии, которое соответствует, в данном случае, по умолчанию.

Ответ 4

используйте $urlRouterProvider и его функцию:

angular.module('MyApp', ['ui.router'])
  .config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {
     $stateProvider.state('default', {
     controller: 'MyController',
     templateUrl: 'path/to/template.ng.html',
     url:'/default'
    })
    $urlRouterProvider.otherwise('/default')
  })];

Ответ 5

Вы можете использовать $urlRouterProvide.otherwise. Это будет работать, если вы попытаетесь перейти к URL-адресу маршрута, который не был определен.

Взято из здесь.

function configurUIRoutes($stateProvider, $urlRouterProvider) {

$stateProvider
    .state('myhomepage',
    {
        abstract: false,
        url: '/myhomepageurl',
        templateUrl: "some-path/staff-admin.html",
        controller: 'HomeController'
    });

$urlRouterProvider.otherwise('/myhomepageurl'); // User will be taken to /myhomepageurl if they enter a non-matched entry into URL

}

Ответ 6

Самый простой способ для всех

добавить $urlRouterProvider сервис в config (функция ($ urlRouterProvider))

а затем

app.config(function ($stateProvider, $urlMatcherFactoryProvider, $urlRouterProvider) {

         $urlRouterProvider.otherwise('employeesState'); //default route

         $stateProvider.state('employeesState', function(){
              //state configuration here
         }) //employees state

         $stateProvider.state('cutomersState', function(){
             //state configuration here
         })
}

назовите любое из состояний в противном случае, которое вы хотите использовать в качестве состояния/маршрута по умолчанию