Javascript 尝试使用this.activaterout.snapshot.params.id时,Ctx.post未定义

Javascript 尝试使用this.activaterout.snapshot.params.id时,Ctx.post未定义,javascript,angular,typescript,undefined,ctx,Javascript,Angular,Typescript,Undefined,Ctx,我正在从事一个在线论坛项目,我正在尝试实现一种查看帖子和评论的方法,但当我转到某个特定帖子的页面时,我发现以下错误: 此处是分配id值的位置: constructor(private postService: PostService, private activateRoute: ActivatedRoute, private commentService: CommentService, private router: Router) { this.postId = thi

我正在从事一个在线论坛项目,我正在尝试实现一种查看帖子和评论的方法,但当我转到某个特定帖子的页面时,我发现以下错误:

此处是分配id值的位置:

constructor(private postService: PostService, private activateRoute: ActivatedRoute,
    private commentService: CommentService, private router: Router) {
    this.postId = this.activateRoute.snapshot.params.id;

    this.commentForm = new FormGroup({
      text: new FormControl('', Validators.required)
    });
    this.commentPayload = {
      text: '',
      postId: this.postId
    };
  }
ngOnInit(): void {
    this.getPostById();
    
  }
  
private getPostById() {
    this.postService.getPost(this.postId).subscribe(data => {
      this.post = data;
    }, error => {
      throwError(error);
    });
  }
这是我的邮政服务:

export class PostService {

  constructor(private http: HttpClient) { }

  createPost(createPostPayload: CreatePostPayload): Observable<CreatePostPayload>{
    return this.http.post<CreatePostPayload>('http://localhost:9090/api/posts/create',createPostPayload);
  }

  getAllPosts(): Observable<Array<PostModel>> {
    return this.http.get<Array<PostModel>>('http://localhost:9090/api/posts/all');
  }

  getPost(id: number): Observable<PostModel> {
    return this.http.get<PostModel>('http://localhost:9090/api/posts/' + id);
  }

  getAllPostsByUser(name: string): Observable<PostModel[]> {
    return this.http.get<PostModel[]>('http://localhost:9090/api/posts/by-user/' + name);
  }
}
出口类邮政服务{
构造函数(私有http:HttpClient){}
createPost(createPostPayload:createPostPayload):可观察{
返回此.http.post('http://localhost:9090/api/posts/create,createPostPayload);
}
getAllPosts():可观察
.张贴
{{post.duration}}
通过

{{post.postName}

评论 {{comment.userName} {{comment.duration}

{{comment.text}
我无法找到id保持未定义的原因。我正在使用@angular/cli 11.2.13

<div class="container">
  <div class="row">
    <hr />
    <div class="col-md-9">
      <div class="row post">
        <div class="col-md-1">
          <app-vote-button [post]="post"></app-vote-button>
        </div>
        <div class="col-md-11">
          <span>
            <span class="category-text"><a class="post-url" href="">{{post.categoryName}}</a></span>
            <span> . Posted
              <span> {{post.duration}} </span>
              by              
              <a class="username" href="">{{post.userName}}</a>
            </span>
          </span>
          <hr />
          <a routerLink="post.url" class="post-title">{{post.postName}}</a>
          <div>
            <p class="post-text" [innerHtml]="post.description"></p>
          </div>
          <div class="post-comment">
            <form [formGroup]="commentForm" >
              <div class="form-group">
                <textarea class="form-control" [formControlName]="'text'" placeholder="Your Thoughts?"></textarea>
              </div>
              <button type="submit" class="login float-right">Comment</button>
            </form>
          </div>
          <div style="margin-top: 60px;" *ngFor="let comment of comments">
            <div class="comment">
              <div class="username">
                <a routerLink="/user/comment.username">{{comment.userName}}</a>
              </div>
              <div>
                <p>{{comment.duration}}</p>
              </div>
              <b>{{comment.text}}</b>
            </div>
            <hr />
          </div>
        </div>
      </div>
    </div>
    
  </div>
</div>