我目前已经完成了一个使用Angular2读取/写入Firebase的教程。
需要帮助firebase.service.ts
中的以下功能addListing(listing){
let storageRef = firebase.storage().ref();
for (let selectedFile of [(<HTMLInputElement>document.getElementById('image')).files[0]]){
let path = `/${this.folder}/${selectedFile.name}`;
let iRef = storageRef.child(path);
iRef.put(selectedFile).then((snapshot) => {
listing.image = selectedFile.name;
listing.path = path;
return this.listings.push(listing);
});
}
}
运行该功能的代码
在add-listing.component.html文件
中<form (submit)="onAddSubmit()">
在add-listing.component.ts文件中
onAddSubmit(){
let listing = {
title:this.title,
city:this.city,
owner:this.owner,
bedrooms:this.bedrooms,
price:this.price,
type:this.type
}
this.firebaseService.addListing(listing);
this.router.navigate(['listings']);
}
这一切都正常 - 但我想更改函数以允许数据被推送到数据库而不必上传图像或文件 - 目前该函数不会运行,除非图像包含在表单中。
感谢您的帮助。