Используйте необязательные параметры в $ state.go - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть сайт от AngularJS и ui-router. Я определил 2 состояния следующим образом:

.state('home', {
       url: '/home/{id}',
       ...
})
.state('edit', {
       url: '/edit/{id}?connected&ifIni&redirectToRun',
       ...

В контроллере я мог бы использовать $state.go('home', { id: id }) для перехода на страницу home.

У меня вопрос, могу ли я использовать, например, $state.go('edit', { id: id, connected: connected, ifIni: ifIni, redirectToRun: redirectToRun }) для перехода на страницу edit.

1 Ответ

0 голосов
/ 27 апреля 2018

Вы можете сделать это двумя различными способами, один из них, добавив params в routeConfiguration, а другой - как query parameters в URL

Добавление параметров:

Конфигурация маршрута:

$stateProvider.state('edit', {
  templateUrl:'edit.html',
  controller:'editController',
  params: {
    'id': ''
    'referer': '', 
    'connected': '', 
    'ifIni': '',
    'redirectToRun': ''
  }
});

Перенаправление:

$state.go('edit', { id: id, connected: connected, ifIni: ifIni, redirectToRun: redirectToRun })

Если вы хотите использовать параметры запроса:

Конфигурация маршрута:

$stateProvider.state('edit', {
  url: '/edit/{id}?connected&ifIni&redirectToRun',
  templateUrl:'edit.html',
  controller:'editController'
});

Перенаправление:

$state.go('edit', { id: id, connected: connected, ifIni: ifIni, redirectToRun: redirectToRun })

Вот документация

...