2017-12-11 5 views
0

関数を格納している2つの変数(labelkey)からなるモデルクラスを作成します。どちらの関数も入力オブジェクトとしてdataが必要です。 2つの関数を指定しない場合、それぞれの関数は呼び出されるデフォルトの関数を持つ必要があります。デフォルトのlabel関数は、入力データを手で触れずに返す必要があります。key関数はdata.uuidを返して、データオブジェクトの一意のIDを取得する必要があります。問題は、あなたがインターフェイスとしてこれを定義することである2つの太矢印の関数を変数とデフォルト値で代入してモデルクラスを作成する

これは...

export interface ListConfigModel { 
label: (data) => (data); 
key: (data) => (data._uuid); 

} 

答えて

0

動作しません、私の試みであった、インターフェイスはちょうどそれが値を指定することはできません、形状を記述することができます。

次の2つの機能を記述するインタフェースを宣言することができ、次のいずれか

export interface IListConfigModel { 
    label: (data: any) => any; 
    key: (data: any) => any; 
} 

それとも、クラスとして定義し、各フィールドに、デフォルトの機能を割り当てることができます。例との

export class ListConfigModel { 
    // You could specify the same types, but since we assign a value, we let the compiler figure it out. 
    label = (data: any) => (data); 
    key = (data: any) => (data._uuid); 
} 
+0

クラス:dataまたはdata._uuidを返す関数ですか? – JohnDizzle

+0

'label'のデフォルトは' data'を返し、 'key'のデフォルトは' data._uuid'を返します –

+0

署名は両方とも同じで、任意の値をとり、anyを返す関数です。これは、より多くの情報を提供していなかったことが原因です。あなたはこれらの兆候を制限するためにジェネリックスを使用することができます –

関連する問題