Im используя Angular.js и у меня есть несколько маршрутов:Перенаправление AngularJS до одной директории
http://localhost/tool/new
http://localhost/tool/report/#/59FD59D56F20DDFA722F5B31796CAE3396C
инструмента/новая является формой, в которой пользователь может создать новый отчет с помощью инструмента. Затем программа запускается в фоновом режиме, и пользователь может получить доступ к отчету, перейдя в tool/report/#/their-id, где их-id - большой хэш SHA1.
Этот хэш является параметром маршрута, если этот хэш недействителен. Мне нужно перенаправить пользователя обратно в инструмент/новый. Проблема Im имея в том, что структура файла программы:
tool/new/index.html // The create new report form
tool/report/index.html // The report area
Я пытался использовать $ место для перенаправления, как это:
$location.path('/new');
Но это только перенаправляет инструмент/отчет/#/new, и это не помогает.
Кто-нибудь знает, как рассчитать Угловое перемещение вверх по одному каталогу и перенаправление?
Основываясь на ответе Бранимира, я получаю URL-адрес и обрезаю его в текущем каталоге (отчете). Я делаю это, потому что имя инструмента и домен могут меняться в зависимости от того, на каком сервере он находится. Это сработало для меня.
var dialog = $dialogs.notify('We were unable to find your tool run.','<p>It is possible that the URL you have entered is incorrect or that your tool run has been deleted due to inactivity.</p><p>Please confirm your URL and try again; or create a new tool run.</p>');
dialog.result.then(function(btn){
var url = $location.absUrl();
var base = url.substring(0,url.indexOf('/report/'));
window.location = base + '/#/new';
},function(btn){});
Примечание Im используя $ диалоговых здесь https://github.com/m-e-conroy/angular-dialog-service/blob/master/dialogs.min.js, чтобы сообщить пользователю идентификатор плох.