Как реализовать пользовательские маршруты в angular.js?
У меня есть маршрут:
.state('home.blog', {
url: "/blog",
templateUrl: "blog.html",
controller: "BlogController"
})
И мой маршрут localhost:3000/home/blog
Я хотел бы изменить его на localhost:3000/blog
, Я искал в Интернете, но я не нашел простого решения.
1 ответ
Решение
Это потому, что часть URL получена от родителя. Но мы можем явно установить, что родительский элемент не должен использоваться '^':
.state('home.blog', {
url: "^/blog",
templateUrl: "blog.html",
controller: "BlogController"
})
Посмотреть документ
Абсолютные маршруты (^)
Если вы хотите иметь абсолютное соответствие URL-адресов, вам необходимо добавить префикс вашей строки URL-адреса со специальным символом "^".
$stateProvider
.state('contacts', {
url: '/contacts',
...
})
.state('contacts.list', {
url: '^/list',
...
});