本文整理汇总了TypeScript中@angular/fire/database.AngularFireDatabase类的典型用法代码示例。如果您正苦于以下问题:TypeScript AngularFireDatabase类的具体用法?TypeScript AngularFireDatabase怎么用?TypeScript AngularFireDatabase使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了AngularFireDatabase类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: constructor
constructor(
public db: AngularFireDatabase,
private fireAuth : AngularFireAuth,
public navCtrl: NavController,
public navParams: NavParams,
public menuCtrl: MenuController,
platform: Platform,
private loadingCtrl: LoadingController
) {
this.notification = db.object('users/'+fireAuth.auth.currentUser.uid+'/notifications/'+this.navParams.data.notifID).snapshotChanges().pipe(map(c =>
({
key: c.payload.key, ...c.payload.val()}
)));
db.object('users/'+fireAuth.auth.currentUser.uid+'/notifications/'+this.navParams.data.notifID).update({
notificationUnread: 0
});
}
示例2: constructor
constructor(
public modalCtrl: ModalController,
public afs: AngularFirestore,
public fireAuth: AngularFireAuth,
public db: AngularFireDatabase,
public navCtrl: NavController,
public navParams: NavParams) {
this.addressesRef = db.list('users/'+fireAuth.auth.currentUser.uid+'/addresses/', ref => ref.orderByChild('name'))
this.addresses = this.addressesRef.valueChanges();
}
示例3:
db.object('PERRINNTeams/' + this.UI.currentTeam + '/chatReplayMode').valueChanges().subscribe(snapshot => {
if (snapshot != undefined) {
this.chatReplayMode = snapshot ? true : false;
}
this.previousMessageTimestamp = 0;
this.previousMessageUser = '';
this.draftMessageDB = false;
this.draftImage = '';
this.draftImageDownloadURL = '';
this.draftMessage = '';
this.messageNumberDisplay = 15;
this.teamMessages = this.db.list('teamMessages/' + this.UI.currentTeam, ref => ref.limitToLast(this.messageNumberDisplay)).snapshotChanges().pipe(map(changes => {
this.UI.loading = false;
const updateObj = {};
changes.forEach(c => {
updateObj['teamReads/' + this.UI.currentUser + '/' + this.UI.currentTeam + '/' + c.payload.key] = true;
});
this.db.database.ref().update(updateObj);
return changes.map(c => ({key: c.payload.key, values: c.payload.val()}));
}));
if (this.chatReplayMode) {
this.chatReplayLoop();
}
this.draftMessageUsers = this.db.list('teamActivities/' + this.UI.currentTeam + '/draftMessages/').snapshotChanges().pipe(map(changes => {
return changes.map(c => ({key: c.payload.key, values: c.payload.val()}));
}));
afs.doc<any>('PERRINNTeams/'+this.UI.currentUser+'/viewTeams/'+this.UI.currentTeam).valueChanges().subscribe(userTeam => {
if (userTeam!=null&&userTeam.lastChatVisitTimestamp!=undefined) {this.lastChatVisitTimestamp = Number(userTeam.lastChatVisitTimestamp); }
else this.lastChatVisitTimestamp=0;
});
});
示例4:
this.route.params.subscribe(params => {
this.UI.currentTeam = params.id;
this.teamLeaders = this.db.list('PERRINNTeams/' + this.UI.currentTeam + '/leaders').snapshotChanges().pipe(map(changes => {
return changes.map(c => ({
key: c.payload.key,
values: c.payload.val(),
name: this.db.object('PERRINNTeams/' + c.payload.key + '/name').valueChanges(),
imageUrlThumb: this.db.object('PERRINNTeams/' + c.payload.key + '/imageUrlThumb').valueChanges(),
}));
}));
this.teamMembers = this.db.list('PERRINNTeams/' + this.UI.currentTeam + '/members').snapshotChanges().pipe(map(changes => {
return changes.map(c => ({
key: c.payload.key,
values: c.payload.val(),
name: this.db.object('PERRINNTeams/' + c.payload.key + '/name').valueChanges(),
imageUrlThumb: this.db.object('PERRINNTeams/' + c.payload.key + '/imageUrlThumb').valueChanges(),
}));
}));
this.db.object('PERRINNTeams/' + this.UI.currentTeam + '/parent').snapshotChanges().subscribe(changes => {
this.parent = changes.payload.val().toString();
this.parentName = this.db.object('PERRINNTeams/' + this.parent + '/name').valueChanges();
this.parentImageUrlThumb = this.db.object('PERRINNTeams/' + this.parent + '/imageUrlThumb').valueChanges();
});
this.teamChildren = this.db.list('PERRINNTeams/' + this.UI.currentTeam + '/children').snapshotChanges().pipe(map(changes => {
return changes.map(c => ({
key: c.payload.key,
values: c.payload.val(),
name: this.db.object('PERRINNTeams/' + c.payload.key + '/name').valueChanges(),
imageUrlThumb: this.db.object('PERRINNTeams/' + c.payload.key + '/imageUrlThumb').valueChanges(),
}));
}));
});
示例5:
.then(() => {
this.db.object<any>(`/teamPayments/${this.UI.currentTeam}/${this.newPaymentID}/response/outcome`).snapshotChanges().subscribe(paymentSnapshot => {
if (paymentSnapshot.payload.val().seller_message != null) { this.messagePayment = paymentSnapshot.payload.val().seller_message; }
if (this.messagePayment == 'Payment complete.') { this.messagePERRINNTransaction = 'We are now sending COINS to your team...'; }
});
this.db.object<any>(`/teamPayments/${this.UI.currentTeam}/${this.newPaymentID}/error`).snapshotChanges().subscribe(paymentSnapshot => {
if (paymentSnapshot.payload.val().message != null) { this.messagePayment = paymentSnapshot.payload.val().message; }
});
this.db.object<any>(`/teamPayments/${this.UI.currentTeam}/${this.newPaymentID}/PERRINNTransaction`).snapshotChanges().subscribe(transactionSnapshot => {
if (transactionSnapshot.payload.val().message != null) { this.messagePERRINNTransaction = transactionSnapshot.payload.val().message; }
});
});
示例6:
this.afAuth.user.subscribe((auth) => {
this.db.list('users/' + auth.uid).push({
timestamp: firebase.database.ServerValue.TIMESTAMP,
name,
familyName,
});
});
示例7: if
this.afAuth.user.subscribe((auth) => {
if (auth != null) {
this.currentUser = auth.uid;
this.db.object('PERRINNTeams/' + this.currentUser).valueChanges().subscribe(snapshot => {
this.currentUserObj = snapshot;
});
afs.collection<any>('PERRINNTeams/'+this.currentUser+'/viewTeams/').valueChanges().subscribe(snapshot => {
this.currentUserTeamsObj = snapshot;
this.globalChatActivity = false;
snapshot.forEach(userTeam => {
let chatActivity:boolean=false;
if(userTeam.lastChatVisitTimestamp!=undefined)chatActivity=(userTeam.lastMessageTimestamp>userTeam.lastChatVisitTimestamp);
else if(userTeam.lastMessageTimestamp!=undefined)chatActivity=true;
else chatActivity=false;
if (chatActivity) {
this.globalChatActivity = true;
}
document.title = this.globalChatActivity ? '(!) PERRINN' : 'PERRINN';
});
});
if (this.focusUser == null) { this.focusUser = auth.uid; }
this.db.database.ref('appSettings/PERRINNServices/').once('value').then(services => {
this.services = services;
});
} else {
this.currentUser = null;
this.focusUser = null;
this.currentTeam = null;
}
});
示例8: deleteAsobeData
public deleteAsobeData(asobeData: IAsobeData): Promise<void> {
// NOTE(baba): remove() は誤って全データを削除できてしまうので、念のため二重でチェック
if (typeof asobeData.id === 'undefined') {
throw new Error(`You should not throw 'asobeData.$key' with undefined to remove() API!`);
}
// NOTE(baba): remove()の引数を空にしたり、undefinedやnullを渡すとDBが丸ごと消えるのでテストしないこと!
return this.afDb.list('/asobe').remove(asobeData.id);
}
示例9: authorPage
authorPage(authorKey) {
this.db.object('users/' + authorKey).valueChanges().subscribe(response => {
console.log("Author Key:", authorKey);
console.log("Response:", response);
response["key"] = authorKey;
this.navCtrl.push(UserPage, response, {animate: true, animation: 'wp-transition', direction: 'forward'});
});
}
示例10: updateDraftMessageDB
updateDraftMessageDB() {
if ((this.draftMessage != '') != this.draftMessageDB) {
this.db.object('teamActivities/' + this.UI.currentTeam + '/draftMessages/' + this.UI.currentUser).update({
name: this.UI.currentUserObj.name,
draftMessage: this.draftMessage != '',
draftMessageTimestamp: firebase.database.ServerValue.TIMESTAMP,
});
}
this.draftMessageDB = (this.draftMessage != '');
}