Как реализовать пользовательские маршруты в 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',
     ...
  });
Другие вопросы по тегам