2017-06-12 4 views
0

J'utilise JS immuable avec TypeScript dans mon projet Angular 2. Ce que je suis en train de réaliser est de créer une variable comme une liste d'un dossierType de données TypeScript pour la liste des enregistrements

export const SuggestionRecord = Record({ 
    accountName: '', 
    accountSubName: '', 
    accountImgUrl: '', 
}); 

et je l'utilise pour spécifier le type d'une propriété d'entrée comme ceci:

@Input() suggestionsData: List<Record<string, any>>; 

Malheureusement, Je ne peux pas utiliser SuggestionRecord à l'intérieur des parenthèses génériques de liste comme.

@Input() suggestionsData: List<SuggestionRecord>; 

Y a-t-il un moyen de parvenir au même résultat? Parce que, il suce si je dois rester dépendant de Record<string, any>. Je veux que ma propriété d'entrée soit sécurisée.

+0

pourquoi suggestionsData ne peut pas vous utiliser '@input(): Liste ;'? – joshvito

Répondre

1

Vous pouvez utiliser typeof à l'intérieur du paramètre de type:

suggestionsData: List<typeof SuggestionRecord>;