Angular 2不会更新组件中数组的内容

Angular 2不会更新组件中数组的内容,angular,typescript,webpack,Angular,Typescript,Webpack,我使用angular 2中的管道将过滤器应用于表,但当我应用过滤器时,数组不会用新值更新 这是我的烟斗档案 import { Pipe, PipeTransform } from '@angular/core'; @Pipe({ name: 'AgreementPipe', pure: false }) export class AgreementPipe implements PipeTransform { tmp = []; transform(items: any[],

我使用angular 2中的管道将过滤器应用于表,但当我应用过滤器时,数组不会用新值更新

这是我的烟斗档案

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'AgreementPipe',
  pure: false
})
export class AgreementPipe implements PipeTransform {
  tmp = [];

  transform(items: any[], filter: Object): any {
    this.tmp.length = 0;
    if (!items || !filter) {
      return items;
    }
    // return items.filter(item => item.agreement.name.indexOf(filter['name']) !== -1);

    let arr = items.filter(item => item.agreement.name.indexOf(filter['name']) !== -1);
    console.log(arr);
    this.tmp.push(...arr);
    return this.tmp;
  }
}
这是我的生日礼物

<tr *ngFor="let Viability of mf.data | AgreementPipe : agreements ">

如果在HTML视图中更新了过滤器,但当我打印数组时,它没有更新的数据,那么它将被删除


知道为什么会这样吗?

这一行
console.log(arr)将arr打印到控制台?我只是检查值​​在管道中更新好,注释
如果(!items | |!filter){return items;}
和测试