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

时间:2015-07-17 09:24:57

标签: angularjs angular-ui-router state

我有一条路线:

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

我的路线是localhost:3000/home/blog我想将其更改为localhost:3000/blog。我搜索了互联网,但我没有找到任何简单的解决方案。

1 个答案:

答案 0 :(得分:5)

这是因为url部分是从父级中删除的。但是我们可以明确地设定,父母不应该被' ^ ':

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

参见文档

Absolute Routes (^)

  

如果您想要使用绝对网址匹配,则需要在网址字符串前加上一个特殊符号' ^'。

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