Я работаю над этим уроком: ThinkStation MEAN
Я пытаюсь добавить еще один $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 correct
{{comment.body}}
</a>
Код $stateProvider
который вы написали, прав, вы должны использовать директиву ui-sref
для создания атрибута href
<a ui-sref="comments({id: comment._id})"> // will create a href
{{comment.body}}
</a>
$stateProvider
, это правильно?