【发布时间】:2019-08-25 14:52:53
【问题描述】:
提供的代码可以编译,但删除功能不起作用
使用 console.log('{alarm.id}'); alarm.id 不显示其值,而是显示字符串。 但是,如果我在代码中添加引号,例如 'alarms/${' & 'alarm.id' & '}' 它无法编译
alarm.page.ts
import { Component, OnInit } from '@angular/core';
import { AngularFireModule } from '@angular/fire';
import { AngularFirestore } from '@angular/fire/firestore';
import { ModalController } from '@ionic/angular';
import { AngularFireAuth } from '@angular/fire/auth';
import { AlarmAddPage } from './alarm-add/alarm-add.page';
@Component({
selector: 'app-alarm',
templateUrl: './alarm.page.html',
styleUrls: ['./alarm.page.scss'],
})
export class AlarmPage implements OnInit {
alarms = [];
constructor(private db: AngularFirestore,
private modalCtrl: ModalController,
public afAuth: AngularFireAuth,) { }
ngOnInit() {
this.alarms=[];
this.db.collection('alarms').stateChanges().subscribe(serverAlarms =>{
serverAlarms.forEach(a=>{
let alarm:any = a.payload.doc.data();
alarm.id = a.payload.doc.id;
this.alarms.push(alarm);
});
});
};
async add() {
const modal = await this.modalCtrl.create({
component: AlarmAddPage,
backdropDismiss: false,
});
return await modal.present();
}
delete(alarm){
this.db.doc('alarms/${alarm.id}').delete();
console.log('{alarm.id}');
}
}
alarm.page.html
<ion-header>
<ion-toolbar color="dark">
<ion-buttons slot="start">
<ion-menu-button></ion-menu-button>
</ion-buttons>
<ion-title>
Alarms
</ion-title>
</ion-toolbar>
</ion-header>
<ion-content padding>
<ion-list>
<ion-item *ngFor="let alarm of alarms">
<table><tr><th><h2>{{alarms.time}} </h2></th><td><table><tr><td>{{alarm.id}}</td></tr><tr><td>{{alarms.days}}</td></tr></table></td></tr></table>
<ion-button (click)="delete(alarm)" color="light">Delete</ion-button>
</ion-item>
</ion-list>
<ion-col>
<div class="ion-text-center">
<ion-button (click)="add()" color="light">Add Alarms</ion-button>
</div>
</ion-col>
</ion-content>
我希望在您的帮助下,删除功能会起作用。在不破坏其他代码的情况下。我希望你不只是来这里纠正我的英语。 完整代码https://github.com/iceraft/LimitRemoval。
【问题讨论】:
-
delete(alarm)这里很可能与 JSdelete运算符混淆 -
我尝试将
delete(alarm)更改为deletes(alarm)和delThis(alarm)仍然没有运气@zerkms -
这似乎不是minimal reproducible example,所以其他人很难轻松测试。也许您的问题是您正在尝试使用 template literals 但您使用的是单引号
'而不是所需的反引号`。 -
关于我已经尝试过使用它的反引号......遗憾的是这不是问题,您是否建议我应该包含其他文件?
标签: typescript google-cloud-firestore ionic4