У меня есть строка маршрута, такая как var global_book_route = /books/:id
, указанная в переменной.Создать Угловой Динамический Маршрут
Я хочу, чтобы иметь возможность использовать $ route или $ location для глубокой ссылки на этот маршрут в контроллере, есть ли способ сделать это без повторного указания префикса url?
Это будет работать: var id=1; $location.path('books/'+id')
-> '/ книги/1'
Однако это не так: $location.path(global_book_route).search({id:1})
-> 'книги /: ИД ИД = 1'
Есть ли способ, я могу использовать маршрут, указанный в строке, чтобы перейти в нужное место?
Я думаю, что я немного нечеткий на конечной цели здесь. Почему не '$ location.path ('books /' + id)' адекватно? Использование переменных в маршрутах для доступа к ним в запросе (часть, которая происходит после '$ location') – azium
@azium со сложными URL-адресами, больно воссоздать и обработать логику маршрута с помощью добавления строк. Используя надуманный пример, «users /: userId/accounts /: accountId» - '$ location.path ('users /' + user.id + '/ accounts /' + account.id)' - что, если маршрут учетной записи изменится на 'users /: userId /: accountId'? – tmarthal
Когда вы имеете в виду «логику маршрута», вы говорите строку, которая представляет URL-адрес? Если основной маршрут изменится, вы почти ничего не можете сделать, но убедитесь, что вы изменили свой URL. Это похоже на то, что google maps api изменяется с '/ _api/v2 /' на '/ _api/v3 /', вам нужно изменить свой код, чтобы это отразить. – azium