2016-07-15 4 views
0

ich habe versucht, Antwort von einem API (http://www.cricapi.com/how-to-use.aspx) mit angular2 zu bekommen. Ich weiß nicht, was ich falsch mache. hier ist mein code--Kann API-Antwort von Get-Methode in Angular2 nicht umgehen?

//matchlist.component.ts 
@Component({ 
selector: 'match-list', 
template: ` 
    <ul> 
    <li *ngFor="let m of matches"> 
    <p>{{m.title}}</p> 
    </li> 
    </ul> 

`, 
providers: [MatchListService] 
}) 

export class MatchList implements OnInit{ 

matches: Match[] = []; 
object: any; 
constructor(private matchservice: MatchListService){ 
} 

ngOnInit(){ 

    this.matchservice.getMatchList() 
     .subscribe(
      matches => this.matches = matches, 
      err => {} 
     ); 

} 
} 

hier ist mein Service klassen

@Injectable() 
export class MatchListService{ 

private matchListUrl = 'http://cricapi.com/api/cricket/'; 

constructor (private http: Http) { 

} 

getMatchList(): Observable<Match[]>{ 
    return this.http.get(this.matchListUrl, [{}]) 
        .map((res:any) => res.json() 
         .catch(this.handleError)); 
      } 

Bitte sagen Sie mir, wenn ich es in die falsche Art und Weise tue? das ist meine erste ex mit api!

+0

Es gibt kein eckiger code hier, du kannst normale javascript-klassen nicht in angular verwenden. Wo ist das App-Modul, Controller und/oder Factory? – johan

+0

@johan das ist wahrscheinlich TypeScript – Mikhail

+0

sry Jungs! Ich habe gerade festgestellt, dass eckig und eckig2 völlig verschieden sind! und ja, sein Typoskript! –

Antwort

1

Ich bin nicht sicher, welche Sprache Sie versuchen, in codieren, aber mit regelmäßigen Winkeln Sie einfach die JSON Ergebnis einer Variablen zurückgegeben zuweisen und es wird wie so das komplette JSON-Objekt halten:

$scope.data = []; 
$http({url: url}).then(function (rs) { 
    console.log(rs); 
    $scope.data = rs.data; 
}); 
+0

seine angular2! das ist Y! –