2016-10-09 22 views
4
に[確認]

componentA.tsを更新します。 labelは配列の長さを正しく更新しますが、チェックボックスは更新されていないようです。 containsは、valuearrayの一部であるかどうかをチェックする単なるパイプです。私はをcontainsパイプに入れ、最初にページをレンダリングするときにのみ出力を得ました。arrayが変更されたときではありません。どうしてこれなの?あなたは、配列に新しい項目を追加するためにpushを使用する場合、純粋なパイプがarray(それが入力値への純粋な変更を検出した場合にのみ実行されますしながら配列参照が変更されていないですので動的Angular2

おかげ..

+0

?それはサービスまたはコンポーネントですか? – micronyks

+0

コンポーネント内の単なる変数です。上記のコードをいくつか追加しました。 – 7ball

答えて

3

そしてあなたのケースでvalue

2つの解決策があります:

1)は、新しい配列

this.array = this.array.concat(4) 
を返します

又は

this.array = [...this.array, 4]; 

Plunker

2)は、より詳細も参照

について

@Pipe({name: 'contains', pure: false}) 
export class ContainsPipe implements PipeTransform { 

Plunker

不純なパイプを使用します0あなたは正確に配列が定義されている場所を示すことができ

+0

ありがとう!それはそれだった。 – 7ball

関連する問題