Я пытаюсь перезагрузить список проектов в 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
когда я обновляю страницу, я получаю список без того, который я удалил, как я ожидал, но ошибка всегда существует.