Маршрутизатору пользовательского интерфейса Angularjs необходимо загрузить дочернее состояние по умолчанию, аналогичное домашней странице

#angularjs #angular-ui-router #angular-ui-bootstrap #angular-ui

#angularjs #angular-ui-router #angular-ui-bootstrap #angular-пользовательский интерфейс

Вопрос:

Я использую пользовательский маршрутизатор angularjs, и мне нужно загрузить дочернее состояние по умолчанию (т. Е. ‘dashboardParent.dashboard’).

 $stateProvider.state('dashboardParent', {
        abstract: true,
        url: '/dashboard',
        templateUrl: 'app/views/dashboard/dashboard-parent.html',
        controller: 'DashboardParentController'
    }).state('dashboardParent.dashboard', {
        url: '/',
        templateUrl: 'app/views/dashboard/dashboard.html',
        controller: 'DashboardController'
    })
  

Обычно то, что мы делаем, это получаем home состояние с URL («/»), оттуда мы переходим, скажем, в какое-то другое состояние 'dashboardParent.dashboard' . Но здесь у меня нет никакого home состояния. Когда я запускаю приложение, я хочу, чтобы было загружено dashboardParent.dashboard состояние. Как этого добиться.

Если я добавлю другое состояние home и предоставлю ссылку для перехода к состоянию 'dashboardParent.dashboard' , оно загружается нормально. Но мое требование заключается в том, что у меня нет никакого домашнего состояния, вместо этого мне нужно загружать 'dashboardParent.dashboard' по умолчанию. Как этого добиться?

Ответ №1:

приведенный ниже код поможет вам:

 // if the path doesn't match any of the urls you configured
// otherwise will take care of routing the user to the specified url
$urlRouterProvider.otherwise('/');
  

ссылка: URL-Маршрутизация пользовательского интерфейса-маршрутизатора

примечание: Не забудьте внедрить $urlRouterProvider сервис.