这是在angularJS中使用$stateProvider的正确语法吗?

这是在angularJS中使用$stateProvider的正确语法吗?,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我使用此语法提供路线,但在选择#/posts路线时 代码未正确运行: app.config([ '$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) { $stateProvider .state('home', { url: '/home', templateUrl: '/home.html', controller: 'Mai

我使用此语法提供路线,但在选择
#/posts
路线时 代码未正确运行:

app.config([
'$stateProvider',
'$urlRouterProvider',
 function($stateProvider, $urlRouterProvider) {

   $stateProvider
   .state('home', {
      url: '/home',
      templateUrl: '/home.html',
      controller: 'MainCtrl'
  })

.state('posts', {
    url: '/posts/{id}',
    templateUrl: '/posts.html',
    controller: 'PostsCtrl'
})

    $urlRouterProvider.otherwise('home');
 }]) 

原因可能是,url
'/posts'
实际上是未映射的。有几种方法,但我认为最典型的是亲子关系。因此,我们应该将其作为父级(列表视图)引入


此外,父模板
posts.html
必须包含其详细视图的一些目标

您尝试过“#/posts/”吗/帖子不是地图。是的,我试过这样做,我设法得到了我的最佳结果。
// this could/should be a state for all posts
.state('posts', {
    url: '/posts',
    templateUrl: '/posts.html',
    controller: 'PostsCtrl'
})
// this would be a child state, when id is provided
.state('posts.detail', {
    url: '/{id}',
    templateUrl: '/post.detail.html',
    controller: 'PostsDetailCtrl'
})