gpt4 book ai didi

Angular 5 类型错误 :

转载 作者:太空狗 更新时间:2023-10-29 19:33:28 26 4
gpt4 key购买 nike

我在一个项目中使用 Angular 5,但出现 typescript 错误:

ERROR TypeError: Cannot read property 'indexOf' of undefined

我的代码应该做的是像这样在输入更改时更新模板:

模板:

<input #f (input)="filterResults(f.value)"/>

<div *ngIf="filteredCandidates.length">
<ul class="filtered-candidates-list">
<li *ngFor="let candidate of filteredCandidates">
{{ candidate.name }}
</li>
</ul>
</div>

和 component.ts:

  private queryString: string;
private candidates: Candidate[] = []
private filteredCandidates: Candidate[] = [];

filterResults(queryString) {
this.candidatesService.filterCandidates().subscribe(candidates => this.candidates = candidates);
if (!queryString) {
return;
}
else {
this.candidates.filter(c => { c.name.indexOf(queryString) >= 0 });
}
}

我尝试在 c.name 上使用 .contains() 方法,得到了相同的结果。正如预期的那样,typeof candidate.name 仍然是字符串,输入也是一个字符串。但是,就好像我不能使用字符串方法只是因为 typescript 被合并了。

最佳答案

如果在某些情况下没有定义 c.name,您可以这样检查:

  this.candidates.filter(c => { 
return c.name !== null && c.name.indexOf(queryString) >= 0
});

在这里,!== null 将检查 null 和 undefined 值。

关于Angular 5 类型错误 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49058006/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com