我是 Ionic 和 Angular 的新手。我正在开发一个订单放置应用程序,但在创建新用户配置文件时遇到了问题。
我正在关注此视频,但数据未保存在 Firebase 中。另外,我已经在 firebase 中有一个带有名称顺序的列表。
配置文件
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { Profiles } from "../../models/profile/profile";
import { AngularFireAuth } from 'angularfire2/auth';
import { AngularFireDatabase } from 'angularfire2/database';
import { LoginPage } from '../login/login';
@IonicPage()
@Component({
selector: 'page-profile',
templateUrl: 'profile.html',
})
export class ProfilePage {
profile = {} as Profiles
// ref:any;
constructor(private afAuth: AngularFireAuth, private afDatabase: AngularFireDatabase, public navCtrl: NavController, public navParams: NavParams) {
// this.ref = afDatabase.list("Profile");
}
createProfile(){
const user = this.afAuth.authState.take(1).subscribe(auth => {
this.afDatabase.object(`Profiles/${auth.uid}`).set(this.profile)
.then(() => {
// this.navCtrl.setRoot(LoginPage)
});
console.log(user);
})
}
}
模型/配置文件/配置文件.ts
export interface Profiles {
firstName: string;
lastName: string;
eventName: string;
hall: string;
booth: string;
}
个人资料.html
<ion-header>
<ion-navbar color="primary">
<ion-title> Create Profile</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
<ion-list>
<ion-item>
<ion-label floating [(ngModel)]="profile.firstName" ngDefaultControl>First Name</ion-label>
<ion-input type="text"></ion-input>
</ion-item>
<ion-item>
<ion-label floating [(ngModel)]="profile.lastName" ngDefaultControl>Last Name</ion-label>
<ion-input type="text"></ion-input>
</ion-item>
<ion-item>
<ion-label floating [(ngModel)]="profile.eventName" ngDefaultControl>Event Name</ion-label>
<ion-input type="text"></ion-input>
</ion-item>
<ion-item>
<ion-label floating [(ngModel)]="profile.hall" ngDefaultControl>Hall #</ion-label>
<ion-input type="text"></ion-input>
</ion-item>
<ion-item>
<ion-label floating [(ngModel)]="profile.booth" ngDefaultControl>Booth #</ion-label>
<ion-input type="text"></ion-input>
</ion-item>
</ion-list>
<button ion-button block (click)="createProfile(Profiles)">Create Profile</button>
</ion-content>
最后还有一件事,我还将 firebase 登录系统与我的应用程序集成在一起,它没有注销,所以不确定它是否会产生问题。
请指导我哪里做错了?
显然,您的双向数据绑定工作不正常。这就是为什么profile
给你一个空的结果。
将所有[(ngModel)]
指令重新定位到 中ion-input
,而不是中ion-label
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句