0

次のようにオブジェクトをネストしたため:

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

ここでパラメータを渡す方法を教えてくれるヘルプはありますか。

4

1 に答える 1

0

このリンクはあなたを助けるでしょう:)

$stateProvider でパラメーターを渡す

于 2015-05-14T06:43:56.537 に答える