1
我有一个network.service.ts和代码如下 -角4 HTTP服务调用不返回数据
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import { Peer } from '../model/Peer';
import 'rxjs/add/operator/toPromise';
@Injectable()
export class NetworkService {
private apiURL = 'http://127.0.0.1:8080/organization/';
constructor(private http: Http) { }
public getOrganizationPeers(organizationName): Promise<Peer[]> {
return this.http.get(this.apiURL + organizationName + '/peers')
.toPromise()
.then((response) => response.json().data as Peer[])
.catch(this.handleError);
}
private handleError(error: any): Promise<any> {
console.error('An error occurred', error);
return Promise.reject(error.message || error);
}
}
我的同行list.component.ts是组件文件。
import { Component, OnInit } from '@angular/core';
import { NetworkService } from './network.service';
import { Peer } from '../model/Peer';
@Component({
selector: 'another',
templateUrl: './peer-list.template.html'
})
export class PeerListComponent implements OnInit {
private peers: Peer[];
constructor(private networkService: NetworkService) { }
ngOnInit(): void {
console.log('test');
this.networkService.getOrganizationPeers('peerOrg1').then(peers
=> this.peers = peers);
}
}
当调用ngOnInit方法时,this.peers始终设置为undefined。数据从服务器返回,但回调无法将数据设置为this.peers变量。有人可以帮我吗?
谢谢。
“角度2/4”的正确标签是“角度”。标签'angularjs'用于'angular'版本1.x(即js/javascript版本)。 – Igor