如何解决每次在输入中键入字母时,如何使用 text$.pipe 调用 api
我的 html 中有一个搜索输入,我想在每次输入内容时使用管道方法调用 api。当输入某些内容时,输入数据将是一个字符串并添加到 url 以搜索内容。添加我正在使用 angular boostrap Typehead。我对 api 进行了硬编码以检索许多内容,但是在使用管道时出现错误。 这是我得到的错误 我对使用管道还很陌生,想知道如何正确使用它来调用这个 api。
ts 文件
search = (text$: Observable<string>) =>
text$.pipe(
debounceTime(100),distinctUntilChanged(),map(term => term.length < 1 ? []
// movieArr gets called here
: this.http.get(`http://localhost:3080/api/search/`+ String(term)).subscribe((myM) => {
console.log("right here,",myM);
this.movie = JSON.parse(JSON.stringify(myM))
// console.log('right here',this.movie.search_res);
this.movieArr = []
for (let item in this.movie.search_res){
// add to the array movieArr for each name
this.movieArr.push(this.movie.search_res[item])
}
return this.movieArr.filter((v:any) => v.toLowerCase().indexOf(term.toLowerCase()) > -1).slice(0,10)
}
// this.movieArr.filter((v:any) => v.toLowerCase().indexOf(term.toLowerCase()) > -1).slice(0,10)
)
)
)
html 文件
<input id="typeahead-basic"
type="text"
class="form-control"
[(ngModel)]="model"
[ngbTypeahead] = "search"
/>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。