无法在角度2中读取null的属性'filter'?

use*_*513 6 angular2-template angular2-routing angular

我收到此错误 无法读取null的属性'filter'

当我在角度2中应用滤镜时.我的代码是

http://plnkr.co/edit/K46jJsnmHiONuqIsnuzW?p=preview

import {Pipe} from 'angular2/core';

@Pipe({
  name: 'sortByName',
  pure: false,
})
export class SortByNamePipe {

  transform (value, [queryString]) {
    // console.log(value, queryString);
    return value.filter((student)=>new RegExp(queryString).test(student.name))
    // return value;
  }
}
Run Code Online (Sandbox Code Playgroud)

Thi*_*ier 13

这是因为您使用HTTP请求以异步方式加载数据作为输入.

您需要先检查这个,然后才能应用过滤器:

export class SortByNamePipe {
  transform (value, [queryString]) {
    if (value==null) {
      return null;
    }

    return value.filter((student)=>new RegExp(queryString).test(student.name))
    // return value;
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 使用`if(value == null)返回null;`更好;-) (2认同)