Angular 如何将响应从服务传递到组件?
我正在尝试将服务的响应传递给组件,以便在html页面上显示它,但我不知道如何进行 组件Angular 如何将响应从服务传递到组件?,angular,lumen,Angular,Lumen,我正在尝试将服务的响应传递给组件,以便在html页面上显示它,但我不知道如何进行 组件 uploadFile(): void { this.errors = null; let file = this.fileInput.nativeElement; if (file.files && file.files[0]) { let fileToUpload = file.files[0]; this.getInfoService .uplo
uploadFile(): void {
this.errors = null;
let file = this.fileInput.nativeElement;
if (file.files && file.files[0]) {
let fileToUpload = file.files[0];
this.getInfoService
.uploadImage(fileToUpload)
.subscribe(
response => { console.log(response) },
err => {
//this.errors = err._body
this.errors = err.json().image
console.log("ERR", err.json().image)
},
() => console.log("()",'worked')
);
}
}
编辑:问题出在我的服务上。这是工作代码
uploadImage(fileToUpload: any) : Observable<any> {
let input = new FormData();
input.append("image", fileToUpload);
return this.http.post('http://Api.app/api/v1/upload', input)
.map(
(response: Response) => {
// I was missing this part
response.json()
}
);
}
uploadImage(fileToUpload:any):可观察{
让输入=新FormData();
input.append(“image”,fileToUpload);
返回此.http.post('http://Api.app/api/v1/upload,输入)
.地图(
(回复:回复)=>{
//我错过了这部分
response.json()
}
);
}
在组件上创建两个属性,并将响应数据分配给这些属性
image: any;
message: string;
uploadFile(): void {
this.errors = null;
let file = this.fileInput.nativeElement;
if (file.files && file.files[0]) {
let fileToUpload = file.files[0];
this.getInfoService
.uploadImage(fileToUpload)
.subscribe(
response => {
this.image = response.image;
this.message = response.message;
},
err => {
//this.errors = err._body
this.errors = err.json().image
console.log("ERR", err.json().image)
},
() => console.log("()",'worked')
);
}
}
要在视图中显示消息,请执行以下操作:
{{ message }}
要显示嵌入的图像,您需要查看以下文章:
那么你到底被困在哪里了?你可以在物体中看到你需要的东西,你真的不知道你是如何得到它们的吗?不,显然我不知道,这就是我问的原因。关于如何将对象中的内容传递给组件,以便在html页面上显示它们,我陷入了困境。我终于解决了这个问题。我在服务中记录响应,但我没有分配它!我会更新OP。