Javascript 角度2管道-数据未传递到转换方法
我试图实现一个非常简单的管道,它从*ngFor获取数据,然后执行一些操作,但是当我执行data.filter()时,它抛出一个错误“无法读取未定义的属性筛选器” 这是我的烟斗Javascript 角度2管道-数据未传递到转换方法,javascript,html,angular,typescript,Javascript,Html,Angular,Typescript,我试图实现一个非常简单的管道,它从*ngFor获取数据,然后执行一些操作,但是当我执行data.filter()时,它抛出一个错误“无法读取未定义的属性筛选器” 这是我的烟斗 import { Pipe, PipeTransform } from '@angular/core'; @Pipe({ name: 'tripFilterByStartDate',pure: false }) export class tripFilterByStartDateModule implements Pi
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({ name: 'tripFilterByStartDate',pure: false })
export class tripFilterByStartDateModule implements PipeTransform {
transform(values: any, args: any[] = null) {
console.log(values);//
return values.filter(value => value.someValue);// throwing an error "cannot read property filter of undefined"
}
}
<ion-card *ngFor="let tripData of tripList | tripFilterByStartDate" text-wrap>
</ion-card>
这是我的html页面
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({ name: 'tripFilterByStartDate',pure: false })
export class tripFilterByStartDateModule implements PipeTransform {
transform(values: any, args: any[] = null) {
console.log(values);//
return values.filter(value => value.someValue);// throwing an error "cannot read property filter of undefined"
}
}
<ion-card *ngFor="let tripData of tripList | tripFilterByStartDate" text-wrap>
</ion-card>
任何建议都会有很大帮助
无法读取未定义的属性筛选器
错误明确说明在初始更改检测时调用管道时,值
对象不存在(未定义)。从管道过滤器
方法应用于值
变量。由于tripList
尚未从服务器获取检索到的列表,因此该列表失败(同时inpure
管道在每个勾选时都被调用)
因此,您应该在过滤器本身中处理这种情况
@Pipe({ name: 'tripFilterByStartDate',pure: false })
export class tripFilterByStartDateModule implements PipeTransform {
transform(values: any, args: any[] = null) {
if(!values) return []; //added this line
return values.filter(value => value.someValue);// throwing an error "cannot read property filter of undefined"
}
}