2016-12-20 10 views
0

は、ここでは、このinterface不変のリストと活字体の適切な方法は、

export interface myObject { 
    propert1: number, 
    propert2: string, 
    propert3: number 
} 
使用するI

[ 
    { 
    "property1": 1, 
    "property2": "asd", 
    "property3": 2 
    }, 
    { 
    "property1": 1, 
    "property2": "asd", 
    "property3": 2 
    }, 
    { 
    "property1": 1, 
    "property2": "asd", 
    "property3": 2 
    } 

] 

私は不変のListオブジェクトを定義したいサーバーから取得する私のJSONデータであるタイプとオブジェクトの配列を定義します

私はこのような何かを試してみましたが、そのは動作していない:

private myObjectList: Immutable.List<myObject> = Immutable.List([]); 

代わりに、私は不変のリストオブジェクトを保持し、何とか私の特定のタイプと、その中にデータをプッシュしたい、そして

$http.get('my url to the json').then(function(data){ 
    this.myObjectList = data.data; 
}); 

angular $httpを使用してしかし、その後myObjectList variableは正確にJSONと同じです。言い換えれば JSONオブジェクトを正確にinterfacemyObjectとして、それは

は、私もこれを試しましたが、その後、私はtypescriptですエラーを取得エラーを返すべきでない場合

$http.get('my url to the json').then(function(data){ 
    this.myObjectList = Immutable.List(data.data); 
}); 

error: Type 'List<{}>' is not assignable to type 'List<Queries>' 

答えて

1

割り当てることはありませんあなたの最初の試み不変のリストでは、正確なデータをmyObjectListに割り当てます。

2回目の試行は正しいですが、コンパイラが応答の種類を推論できないため、取得したエラーが発生しています。
試してください:私はNGリピートを介した行を表示しようとすると、

$http.get('my url to the json').then(function(data){ 
    this.myObjectList = Immutable.List(data.data as Queries); 
}); 
+0

素敵で、今では私のhtmlの角度ではなく動作しますが、これはmyObjectListで、それは 'NG・リピート="オブジェクトを行うための適切な方法であります._tail.array'テールと配列を削除してもng-repeatが機能しないので、 –

+0

私は角を発達させているわけではありませんので、わかりません。その問題の答えが見つからない場合は、新しい質問を投稿してくださいそれは –

+0

本当におかげで申し訳ありません –