J'ai une application angular2 qui a un service qui récupère une liste d'éléments. Il existe une méthode pour également chercher des informations plus spécifiques pour chaque élément de la liste. Ma configuration actuelle est la suivante:
The type argument for type parameter 'T' cannot be inferred from the usage. Consider specifying the type arguments explicitly. Type argument candidate 'Item[]' is not a valid type argument because it is not a supertype of candidate 'Observable<Item[]>'. Property 'length' is missing in type 'Observable<Item[]>'.
3 Réponses :
Essayez d'ajouter des informations de type retournées à vos cartes et modifiez vos annotations de tableau: P>
élément [] code>, utilisez tableau <élément> code>. LI>
-
fetchdata (item: item): itemData code> et .map ((élément: article): itemData => this.itemsservice.fetchdata (article)) CODE> LI >
ol>
Je suis méfiant que cela pourrait avoir quelque chose à voir avec Dans votre cas où vous définissez < Code> FetetCitems (): Observable btw J'ai essayé de simuler votre situation avec des classes simulées et compilées sans erreurs (Typescript 2.0.3) mais peut-être J'ai fait une erreur quelque part et que ce n'est pas identique (?): P> toarray () code> qui retourne
observable
toarray () Code> Pour retourner
Observable
observable
Lorsque j'ai rencontré le même problème, la raison était que j'ai oublié d'importer J'espère que cela aide quelqu'un. P> réponse code> classe: p>
importer {http, réponse} de '@ angular / http'; code> p>
FSCK! Cela vient d'être arrivé à moi et c'est arrivé depuis que je suis arrivé à faire confiance au Web Pastorm trop - Web Station de Web n'a pas ajouté automatiquement, et je n'ai même pas vérifié que ... :-)
@Boazrymland Yep, c'est étrange qu'il n'empêche même pas d'utiliser la classe qui n'est pas importée