У меня есть поток мастер, который собирает informationAUI-маршрутизатор перейти в другое состояние OnEnter
states["wizard"] = {
abstract: true,
url: "^/wizard",
controller: "wizardController",
templateUrl: "wizard.html"
};
states["wizard.input"] = {
url: "^/input",
views: {
"": {
controller: "wizardController",
templateUrl: "form.html"
}
}
}
states["wizard.completed"] = {
templateUrl: "completed.html"
};
И еще один поток B мастера, что это подобная структура, которая собирает informationB.
Что я хочу сделать, когда пользователь переходит к/wizard, он проверяет, заполнена ли информация B, если нет, сначала перейдите к заполнению информацииB, а затем вернитесь к/wizard, чтобы продолжить работу мастера.
Каков наилучший способ перенаправления при входе пользователя в/wizard и лучший способ вернуться в/wizard при завершении работы мастера?
Для возврата я мог бы передать некоторый параметр в URL-адресе и в контроле контроллера wizardB, чтобы проверить, нужно ли ему перейти к wizardA, но не мог понять, как сделать первую переадресацию.
Заранее спасибо.
можно использовать 'resolve' (см документацию) и проверить с сервисом, чтобы увидеть, если все данные, необходимо будет там или не и если не вернуть $ state.go() – charlietfl
Спасибо charlietfl! На самом деле у моего обоих контроллеров уже введена одна и та же служба данных, я мог бы просто использовать это! – Wei
Правильно, но вы также можете перехватывать внутри разрешения, и контроллер вообще не срабатывает, если вы отклоняете решение в маршрутизации – charlietfl