Свойство 'id' не существует для типа 'any []' - PullRequest
0 голосов
/ 27 сентября 2019

все работает нормально, но выдает ошибку в git.Код Editeur подчеркивает идентификатор response.id;.

  create(){
    this.postService.create(this.post)
    .subscribe(
      (response:any[])=>{
         this.post.id=response.id;
         this.posts.unshift(this.post);
         this.post={
          id:0,
          title:'',
          body:'',
          userId:''
        }        
    },(error:AppError)=>{
      if(error instanceof BadInput){
        alert('c post deja supprimer')
      }else{
        alert('error inattendue')
      }
    }
    )
  }

Ответы [ 2 ]

0 голосов
/ 27 сентября 2019

Проверьте, что первый ответ содержит свойство id, если существует, затем попробуйте следующий код.

create(){
    this.postService.create(this.post)
    .subscribe(
      (response:any)=>{
         this.post.id=response.id;
         this.posts.unshift(this.post);
         this.post={
          id:0,
          title:'',
          body:'',
          userId:''
        }        
    },(error:AppError)=>{
      if(error instanceof BadInput){
        alert('c post deja supprimer')
      }else{
        alert('error inattendue')
      }
    }
    )
  }
0 голосов
/ 27 сентября 2019

Поскольку вы читаете ответ как массив, вы не можете использовать любое свойство массива без какого-либо значения индекса.

Не могли бы вы использовать, как показано ниже, и поместить отладчик в строку this.post = response, чтобы проверить ответ и поделиться ответом здесь, чтобы я мог помочь вам с точным исправлением.

create () {this.postService.create (this.post) .subscribe ((response) => {this.post = response;});}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...