【问题标题】:angularfire set / update user databaseangularfire 设置/更新用户数据库
【发布时间】: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


    【解决方案1】:

    解决了

    this.afdb.list(`user`).update(auth.uid, this.user)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-29
      • 2018-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多