0
다음 단어를 찾아서 해당 문자열이 들어있는 배열에서 요소를 반환하는 코드가 있습니다. 그러나 나는 이것을 실행할 때 다음과 같은 오류가 발생합니다. user.indexOf가 함수가 아닙니다.Angular2에서 관찰 할 수있는 필터에 함수가 없습니다.
Observables에서 필터를 사용할 때 일부 내장 함수가 필터에서 작동하지 않습니까?
import { Injectable } from '@angular/core';
import { AngularFire } from 'angularfire2';
import { Person } from '../person';
import {Observable} from "rxjs";
import 'rxjs/add/operator/filter';
import 'rxjs/add/operator/map';
@Injectable()
export class UserSearchService {
constructor(private af: AngularFire) { }
search(term: string): Observable<Person[]> {
return this.af.database.list('/users')
.map(users => {
return users.filter(user => {
return user.indexOf(term) > -1;
})
})
}
}
사용자가 문자열입니까? 그것의 외관에서, 나는 왜 indexOf가 그것에 대한 방법이 아닌지 설명 할 수있는 다른 종류의 객체라고 추측하고있다. –
메소드의 서명에 기반하여, 사용자는 Person 유형이고, Person은 아마 어떤 것도 가지지 않는다. indexOf 메소드. –
아 물론. 감사! – user3642173