Angular 向控制台获取一个错误:";无法读取属性';排序';“未定义”的定义;排序和筛选时
我不熟悉角度,所以不要太严格。我有一个页面,上面有我所有客户的列表,我想做的是按Angular 向控制台获取一个错误:";无法读取属性';排序';“未定义”的定义;排序和筛选时,angular,Angular,我不熟悉角度,所以不要太严格。我有一个页面,上面有我所有客户的列表,我想做的是按名称对他们进行筛选,并按id进行排序。为了让它工作,我创建了两个管道,一个用于过滤,另一个用于排序。两个管道都包含在appModule中。这是: import {Pipe, PipeTransform} from '@angular/core'; @Pipe({ name: 'filter', pure: false }) export class FilterPipe implements PipeTr
名称
对他们进行筛选,并按id
进行排序。为了让它工作,我创建了两个管道
,一个用于过滤,另一个用于排序。两个管道
都包含在appModule
中。这是:
import {Pipe, PipeTransform} from '@angular/core';
@Pipe({
name: 'filter',
pure: false
})
export class FilterPipe implements PipeTransform {
transform(items: any[], term): any {
return term ? items.filter(item => item.name.indexOf(term) != -1) : items;
}
}
及
在视图中,我是这样实现的:
<input type="text" class="form-control" placeholder="Name" name="term" [(ngModel)]="term">
<table>
<tr *ngFor="let client of clients | filter: term | sortBy: 'id'; let i = index"
<td>{{ client.name }}</td>
</tr>
</table>
在执行过程中的某个时刻,客户端
未定义,这会导致控制台中出现错误
您可以通过在调用sort方法之前在管道中检查它来防止这种情况
从'@angular/core'导入{Pipe,PipeTransform};
@烟斗({
名称:“sortBy”,
纯:假
})
导出类SortPipe实现PipeTransform{
转换(项:any[],sortedBy:string):any{
如果(!items){return items;}//{
返回a[sortedBy]-b[sortedBy]
})
}
}
在执行过程中的某个时刻,客户端
未定义,这会导致控制台中出现错误
您可以通过在调用sort方法之前在管道中检查它来防止这种情况
从'@angular/core'导入{Pipe,PipeTransform};
@烟斗({
名称:“sortBy”,
纯:假
})
导出类SortPipe实现PipeTransform{
转换(项:any[],sortedBy:string):any{
如果(!items){return items;}//{
返回a[sortedBy]-b[sortedBy]
})
}
}
排序前检查项目数组是否为空。您能否在.ts文件中提供代码,在该文件中声明客户端并获取值?如果项目数组在排序前为空,请检查。您能否在.ts文件中提供代码,在该文件中声明客户端并获取值谢谢,这很有帮助,只要我能接受答案,我会的。谢谢你,这很有帮助,只要我能接受答案,我会的。
<input type="text" class="form-control" placeholder="Name" name="term" [(ngModel)]="term">
<table>
<tr *ngFor="let client of clients | filter: term | sortBy: 'id'; let i = index"
<td>{{ client.name }}</td>
</tr>
</table>