如何在 angular.js 中实现自定义路由?

how to implement custom routes in angular.js?

我有一条路线:

.state('home.blog', {
  url: "/blog",
  templateUrl: "blog.html",
  controller: "BlogController"
})

我的路线是localhost:3000/home/blog,我想把它改成localhost:3000/blog。我搜索了 Internet,但没有找到任何简单的解决方案。

这是因为 url 部分是从父级派生的。但是我们可以明确设置,'^'不应该使用父级:

.state('home.blog', {
  url: "^/blog",
  templateUrl: "blog.html",
  controller: "BlogController"
})

查看文档

Absolute Routes (^)

If you want to have absolute url matching, then you need to prefix your url string with a special symbol '^'.

$stateProvider
  .state('contacts', {
     url: '/contacts',
     ...
  })
  .state('contacts.list', {
     url: '^/list',
     ...
  });