我一直致力于本教程:Thinkster MEAN tutorial
我正在尝试为项目添加另一个$stateProvider
。它将用于为现有注释创建注释,但我不知道如何使用其:id
。
以下是我尝试的代码:
$stateProvider
.state('home', {
url: '/home',
templateUrl: '/home.html',
controller: 'MainCtrl',
resolve: {
postPromise: ['posts', function (posts) {
return posts.getAll();
}]
}
})
.state('posts', {
url: '/posts/:id',
templateUrl: '/posts.html',
controller: 'PostsCtrl',
resolve: {
post: ['$stateParams', 'posts', function ($stateParams, posts) {
return posts.get($stateParams.id);
}]
}
})
.state('comments', {
url: '/comments/:id',
templateUrl: '/comments.html',
controller: 'CommentsCtrl',
resolve: {
post: ['$stateParams', 'comments', function ($stateParams, comments) {
return comments.get($stateParams.id);
}]
}
});
对于comments
状态,我知道代码是错误的,但我只是在其中加入一些代码以便更好地理解。我对它需要的东西感到困惑,所以我试图改变url: '/posts/:id/comments/:id'
,但它不起作用。
另外,我想知道下面的代码是否可以用于导航:
<a href="#/comments/{{comment._id}}"> // don't know whether it's correct
{{comment.body}}
</a>
答案 0 :(得分:2)
您编写的$stateProvider
代码是正确的,您应该使用ui-sref
指令来创建href
属性
<a ui-sref="comments({id: comment._id})"> // will create a href
{{comment.body}}
</a>