Ich baue eine App auf Angular 4 mit TypeScript. Ich weiß nicht, warum ich den FehlerAngular4 Typoskript; Eigenschaft 'Daten' existiert nicht für den Typ 'any []'
Property 'data' does not exist on type 'any[]'
für einen Ausdruck wie folgt aus. Ich habe das aus einer Komponente herausgenommen;
LoadAllUsers(): void {
this.AllUsers.Loading = true;
let AdditionalParams = {
'page': this.AllUsers.CurrentPage
};
this.UserService.All(AdditionalParams)
.subscribe(
(users) => {
this.AllUsers.Users = users.data;
this.AllUsers.Data = users;
this.AllUsers.Loading = false;
this.AllUsers.Loaded = true;
console.log ("Users response: ", this.AllUsers, this.AllUsers.Users);
},
(error)=> {
this.AllUsers.Loading = false;
console.log ("THE ERROR: ", error);
this.AllUsers.RequestStatus = error.status=0;
if (typeof error.json == 'function' && error.status!=0) {
let errorObject = error.json();
this.AllUsers.RequestError = errorObject;
} else {
this.AllUsers.RequestError = "net::ERR_CONNECTION_REFUSED";
}
this.AllUsers.HasRequestError = true;
});
}
Ich kann diesen Fehler nur umgehen, indem Sie; (users) => this.PrepareUsers(users)
Ich muss etwas über TypeScript fehlen. Was seltsam ist, kann ich verwenden error.status
Die Nachricht ist explizit. Die "All" -Methode gibt eine Observable eines Arrays zurück ("Observable"). Sie versuchen, die Dateneigenschaft des Arrays abzurufen, aber sie existiert nicht. Sie sollten über die Liste iterieren, um die Daten jedes Benutzers zu erhalten. –
bchampion
Ja, das merke ich jetzt. Ich habe es so verändert, dass es so aussieht; All (AdditionalParams: object): Observable { –
LogicDev
Warum kapitalisieren Sie überall? https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines – JGFMK