【发布时间】:2018-07-13 00:29:33
【问题描述】:
我是 Angular 的新手。
我有一个页面供用户编辑他们的个人资料信息。
我遇到了 .set() 和 .update() 的问题,但使用 .push() 时一切正常。
edit-profile.html
<ion-navbar color="primary">
<ion-title>Edit Profile</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
<ion-item>
<ion-input floating placeholder="User name" [(ngModel)]="user.username"></ion-input>
</ion-item>
<ion-item>
<ion-input floating placeholder="age" [(ngModel)]="user.age"></ion-input>
</ion-item>
<button ion-button clear block (click)="saveProfile()">Save</button>
</ion-content>
edit-profile.ts
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { AngularFireAuth } from 'angularfire2/auth';
import { User } from '../../models/user/user.model';
import { AngularFireDatabase } from 'angularfire2/database';
@IonicPage()
@Component({
selector: 'page-edit-profile',
templateUrl: 'edit-profile.html',
})
export class EditProfilePage {
user = {} as User;
constructor(public navCtrl: NavController,
public navParams: NavParams,
private afAuth: AngularFireAuth,
private afdb: AngularFireDatabase) { }
saveProfile(user: User) {
this.afAuth.authState.take(1).subscribe(auth => {
this.afdb.list(`user/${auth.uid}`).push(this.user)
.then(() => this.navCtrl.setRoot('TabsPage'));
});
}
}
- 节点 v.8.94
- npm 5.6.0
- cordova@8.0.0
- ionic@3.19.1
- rxjs@5.5.6
- angularfire2@5.0.0-rc.6
- firebase@4.9.0
【问题讨论】:
标签: typescript firebase firebase-realtime-database firebase-authentication angularfire2