Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 向控制台获取一个错误:";无法读取属性';排序';“未定义”的定义;排序和筛选时_Angular - Fatal编程技术网

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>