データバインディング失うことなく、パイプで連結アレイ:角度2:私は、単純なパイプを持っている
export class MergePipe implements PipeTransform {
transform(first: any[], second: any[], order: Boolean): any {
return order ? first.concat(second):second.concat(first);
}
私は、簡単なボタンを使用しています:<button *ngFor="let item of items | sort:suffix | filter:filterargs | merge:newItems:false"></button>
。
そしてnewItems.push(値)を使っていくつかの値をnewItemsにプッシュしますが、何も起こりません。 * ngForからパイプを削除すると、予想される変更が反映されます。
私は、データバインディングがどのように機能しているかについて何か迷っていると思います。
ありがとうございました。
純粋なパイプは、 'ポインタ'を変更したときにのみ更新されます。たとえば、最初の変更が別の配列に変更され、変更可能ではありません。 '@Pipp({pure:false})'を設定することで不純なパイプに変更することができます。パイプのドキュメントを検索することができます。 –
答えをありがとう。不十分なパイプではうまく動作しますが、今のところどのように動作しているのかは分かりません。 – Draftsman