无法读取 angular 2 中的 属性 'filter' 的 null?

Cannot read property 'filter' of null in angular 2?

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

当我在 angular 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;
  }
}

这是因为您有使用 HTTP 请求异步加载的数据作为输入。

您需要在能够应用过滤器之前进行检查:

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

    return value.filter((student)=>new RegExp(queryString).test(student.name))
    // return value;
  }
}