次のようにオブジェクトをネストしたため:
Provider(providerId) =>> 投稿 (postId) =>> コメント (commentId) =>> 返信 (replyId)
そのため、返信の最後のステップにいる間は、providerId を返信ステップに渡すことができません。
各ステップで $stateParams がどのように機能するかを次に示します。
返信状況はこちら。
$stateProvider
.state('reply', {
url: '/blog/providers/{providerId}/posts/{postId}/comments/{commentId}',
templateUrl: 'app/blog/provider/post/comment/reply/reply.html',
controller: 'ReplyCtrl'
});
したがって、パラメーターを渡すことができないため、次のエラーが発生します。
GET http://localhost:9000/api/providers//posts/5551b281bcaa20002387fb31/comments/5551b3b4bcaa20002387fb32 404 (Not Found)
これは私がcomment.htmlに持っているもので、返信ステップにパラメーターを渡すために返信の1ステップ前です。ここにないため、この場合に providerId を取得する方法がわかりません。
<div ng-repeat="comment in post.comments track by $index" >
.......
<a ui-sref="reply({providerId: ..., postId : post._id, commentId: comment._id})"></a>
また、replyCtrl内では、html内で渡した変数にアクセスできません。これはエラーです。replyCtrl 内に次の行を追加するだけです。
console.log('postId from reply state' , postId);
console.log('commentId from reply state', commentId);
これは私の受け取ったエラーです。
ReferenceError: postId is not defined
ここでパラメータを渡す方法を教えてくれるヘルプはありますか。