2016-12-27 23 views

答えて

7

新しいタイスクリプトの更新では、新しいルールとフラグが追加されました。これらのフラグの1つはnoImplicitAnyフラグです。これは、このような変数を初期化していない確認します:

let avatars = []; 

あなたは、もはや使用してエラーとしてこれをマークするために、あなたのtsconfig.jsonを変更することはできません、次のいずれか

{ 
    noImplicitAny: false 
} 

またはインターフェイスを作成することができますが

:あなたの selectedContact

export interface Contact { 
    jcf: ContactDetail; 
    meta: any[]; 
} 

、別のインターフェイスを表します/クラス

export interface ContactDetail { 
    avatars: any[]; 
    fullname: string; 
} 

今すぐあなたのselectedContactプロパティに接触インターフェースを割り当てることができます。

private selectedContact: Contact = {...}; 
+0

だから、理想的な方法は何ですか?私はインターフェイスを作成するほうがいいと思います。私のモデルは適切なタイプのデータを持っています。右? –

+0

これは、コンパイルする前に正しいタイプのデータがモデルにあることをTypeScriptが保証するようにします。しかし 'instanceof Contact'を使うと、それでもfalseを返します。そのためのクラスを作成してインスタンス化する必要があります – PierreDuc

関連する問題