Угловая 5: ОШИБКА TypeError: _this.pageProjects.indexOf не является функцией - PullRequest
0 голосов
/ 08 мая 2018

Я пытаюсь перезагрузить список проектов в angular 5 после того, как пользователь удалил одну из тем, но когда я нажимаю на удалить, я получаю эту ошибку:

ERROR TypeError: _this.pageProjects.indexOf is not a function
at SafeSubscriber.eval [as _next] (projects.component.ts:54)

pageProjects - это переменная, которая содержит список проектов.

это файл project.component.ts

    import { Component, OnInit } from '@angular/core';
import {ActivatedRoute, Router} from '@angular/router';
import {ProjetService} from '../../../../../service/projet.service';
import {Projet} from '../../Models/Projet';
import 'rxjs/add/operator/map';

@Component({
  selector: 'app-projects',
  templateUrl: './projects.component.html',
  styleUrls: ['./projects.component.scss']
})
export class ProjectsComponent implements OnInit {

  pageProjects:any;
  pages:Array<number>;
  currentPage:number=0;
  page:number=0;
  size:number=5;

  constructor(private router:Router,
              private projetSevice:ProjetService,
              private route: ActivatedRoute) { }

  ngOnInit() {
       this.doSearch();
  }

  doSearch(){
    this.projetSevice.getProjects(this.currentPage,this.size)
      .subscribe((data:any)=>{
        this.pageProjects=data;
        this.pages=new Array(data.totalPages);
      },err=>{
        console.log('this is error');
      })
  }

  gotoPage(i:number){
    this.currentPage = i;
    this.doSearch();
  }

  Edit(id:number){
    this.router.navigate(['edit',id], { relativeTo: this.route });
  }


  delete(p:Projet){
      let confirm = window.confirm('are you sur ? ');
      if(confirm==true){
        this.projetSevice.deleteProject(p.id)
          .subscribe(data=>{
            this.pageProjects.splice(
              this.pageProjects.indexOf(p),1
            );
          },err=>{
            console.log(err);
          })
      }
  }

}

я получаю эту ошибку в строке this.pageProjects.indexOf (p), 1

когда я обновляю страницу, я получаю список без того, который я удалил, как я ожидал, но ошибка всегда существует.

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