私はいくつかの非欄を持つフォームを持っています。問題は、すべてのフィールドにデータが含まれていない限り、ファイアベースへの書き込みが「未定義フィールド」エラーで失敗し、何も書き込まれないということです。 firebase.service.tsのAngular 2+フォームから提出された未定義フィールドを除外する方法
追加-product.tsを
export class AddproductComponent implements OnInit {
adjWaist:any;
brand:any;
buyAud:any;
buyQty:any;
collection:any;
.
.
.
のパートパート:
addProduct(product){
//create root ref
let storageRef = firebase.storage().ref();
let propRef = this.products.push(product);
}
interface Product{
$key?:string;
adjWaist?:any;
brand?:string;
buyAud?:number;
buyQty?:number;
collection?:string;
.
.
.
}
私はすべてのフィールドを移入した場合、それがある場合
をfirebaseに書き込み"未定義"のフィールドは失敗します:例えば、 "未定義"の "未定義"は必須フィールドではないので、 "adjWaist"で失敗します。他のWebページに必須ではないフィールドがあるので、簡単な修正が必要ですが、多くの重要な言葉をびっくりしたが、成功しなかった。私はデータベースに "空の"不要な行を設定したくありません。
私はangle-cli、angular 4とAngularFireを使用しています。
ありがとうございます。私はあなたのコードを理解すれば、私が必要とするものの反対です。 let:any = {x:10、y:20 z:}; デフォルトはany = {x:0、y:0、z:0}とします。 let =オブジェクト。割り当て(デフォルト、1)。 // combinedは{x:10、y:20、z:0}です。 –
応答ありがとうございますが、私があなたのコードを理解すれば、それは私が必要とするものの反対です。 let:any = {x:10、y:20 z:}; \t \tデフォルトはany = {x:0、y:0、z:0}とします。 \t \t let =オブジェクト。割り当て(デフォルト、1)。 \t \t // combinedは{x:10、y:20、z:0}です。 –
申し訳ありませんが、入力欄に改行文字が何か分かりません。 :( –