2017-06-23 7 views
-2

のプロパティ「フィルタ」を読み取ることができません私は、このクラス定義されている:私のコンポーネントの一つでフィルタリング配列が取得されます。未定義

export class Contract { 
    id:number; 
    name:string; 
    .... 
} 

を:あなたはそれを見ることができる1として

included_contracts: Contract[]; 

private includeSelectedContract(selected_contract: FormControl): void { 
    let data:Contract = selected_contract.value as Contract  
    let is_exists = this.included_contracts.filter(c => c.id === data.id).length > 0 ? true : false; 

    console.log(is_exists); 
} 

included_contractsクラスの配列ですが、これはオブジェクトの動作の配列の古い角バージョンで同じことをすることを期待していますが、私は次のようになります:

ERROR TypeError: Cannot read property 'filter' of undefined

+1

included_contracts変数はどのように初期化されますか?このエラーはそうではないことを示唆しています。 – toskv

+0

@toskv素早く対応してくれてありがとう私は 'included_contracts:Contract [];を' included_contracts:Contract [] = []; ' –

答えて

1

included_contracts変数が初期化されていない可能性があります。このメソッドを呼び出す前に、データを入れておいてください。

+0

に変更しました。 –

1

あなたは、配列

included_contracts: Contract[] = []; 
0

があなたの配列を初期化する初期化する必要があります。 included_contracts:Contract [] = [];

またはコードのどこかにあります。

関連する問題