Http 上车Angular2、阅读json
Http Get on Angular 2, read json
我正在尝试从 api 获取 JSON 数据并使用 angular 显示其内容 2。
对话组件:
export class ConversationComponent implements OnInit {
public conversation: any;
constructor(private conversationsService: ConversationsService,
private routeParams: RouteParams) { }
ngOnInit() {
let id = +this.routeParams.get('id');
this.conversationsService.getConversation(id)
.subscribe(
con => this.conversation = con,
error => console.log(this.conversation)
)
}
}
通信服务:
@Injectable()
export class ConversationsService {
private url = 'https://dev4.aldensys.com/PrometheusWebAPI/api/Conversations/';
private token = this.storageService.getAuthorizationToken();
constructor(private http: Http, private storageService: StorageService) { }
getConversation(id: number) {
var headers = new Headers();
headers.append('Authorization', 'Bearer ' + this.token);
var options = new RequestOptions({ headers: headers });
return this.http.get(this.url + id, options)
.map(res => res.json())
.catch(this.handleError);
}
private handleError(error: any) {
let errMsg = (error.message) ? error.message :
error.status ? `${error.status} - ${error.statusText}` : 'Server error';
console.error(errMsg); // log to console instead
return Observable.throw(errMsg);
}
}
由于某种原因 this.conversation 未定义。我试图在将其映射到服务文件上的 json 后立即提醒响应:它显示 'object: Object'
任何帮助将不胜感激。
我明白了。你的问题是模板在数据进来之前显示错误。
使用这个
{{conversation?.number}}
在 Angular2 中,与 Angular1 相比,这是不可原谅的
这是 doc
中的引用
我正在尝试从 api 获取 JSON 数据并使用 angular 显示其内容 2。 对话组件:
export class ConversationComponent implements OnInit {
public conversation: any;
constructor(private conversationsService: ConversationsService,
private routeParams: RouteParams) { }
ngOnInit() {
let id = +this.routeParams.get('id');
this.conversationsService.getConversation(id)
.subscribe(
con => this.conversation = con,
error => console.log(this.conversation)
)
}
}
通信服务:
@Injectable()
export class ConversationsService {
private url = 'https://dev4.aldensys.com/PrometheusWebAPI/api/Conversations/';
private token = this.storageService.getAuthorizationToken();
constructor(private http: Http, private storageService: StorageService) { }
getConversation(id: number) {
var headers = new Headers();
headers.append('Authorization', 'Bearer ' + this.token);
var options = new RequestOptions({ headers: headers });
return this.http.get(this.url + id, options)
.map(res => res.json())
.catch(this.handleError);
}
private handleError(error: any) {
let errMsg = (error.message) ? error.message :
error.status ? `${error.status} - ${error.statusText}` : 'Server error';
console.error(errMsg); // log to console instead
return Observable.throw(errMsg);
}
}
由于某种原因 this.conversation 未定义。我试图在将其映射到服务文件上的 json 后立即提醒响应:它显示 'object: Object'
任何帮助将不胜感激。
我明白了。你的问题是模板在数据进来之前显示错误。
使用这个
{{conversation?.number}}
在 Angular2 中,与 Angular1 相比,这是不可原谅的
这是 doc
中的引用