【发布时间】:2021-10-24 06:30:50
【问题描述】:
我一直在寻找这个问题的答案。遵循有关 AngularFire 2 和 Angular 2 本身的文档,但我找不到有效的答案。我只是想使用唯一键删除我的 firebase 数据库中的一个条目。我可能可以在 Angular 4 中执行此操作,但我必须在 Angular 2 中执行此操作。
任何支持将不胜感激!
import { Component, OnInit } from '@angular/core';
import { AngularFireDatabase, FirebaseObjectObservable } from 'angularfire2/database';
import {Observable} from "rxjs/Observable";
@Component({
selector: 'app-listings',
templateUrl: './listings.component.html',
styleUrls: ['./listings.component.scss']
})
export class ListingsComponent implements OnInit {
items: Observable<any[]>;
item: FirebaseObjectObservable<any[]>;
constructor(db: AngularFireDatabase) {
this.items = db.list('Harry');
this.item = db.object('/Harry/');
}
delete() {
this.item.remove(); // removes all data.
}
ngOnInit() {
}
}
编辑:添加 HTML
<ul class="list-group">
<li class="list-group-item" *ngFor="let item of items | async">
<p><strong>Name: </strong>{{item.name}}</p>
<p><strong>Email: </strong>{{item.email}}</p>
<p><strong>Mobile: </strong>{{item.mobile}}</p>
<p><strong>Address: </strong>{{item.address}}</p>
<div class="editDel row">
<div class="col-sm-1"><button class="btn-primary">Edit</button></div>
<div class="col-sm-1"><button class="btn-danger" (click)="delete()">Delete</button></div>
</div>
</li>
</ul>
编辑:添加软件包版本
{
"name": "ng2-firebase-addresslist",
"version": "0.0.0",
"license": "MIT",
"angular-cli": {},
"scripts": {
"ng": "ng",
"start": "ng serve",
"test": "ng test",
"pree2e": "webdriver-manager update --standalone false --gecko false",
"e2e": "protractor"
},
"private": true,
"dependencies": {
"@angular/common": "^2.3.1",
"@angular/compiler": "^2.3.1",
"@angular/core": "^2.3.1",
"@angular/forms": "^2.3.1",
"@angular/http": "^2.3.1",
"@angular/platform-browser": "^2.3.1",
"@angular/platform-browser-dynamic": "^2.3.1",
"@angular/router": "^3.3.1",
"angular2-flash-messages": "^1.0.8",
"angularfire2": "^2.0.0-beta.7-pre",
"core-js": "^2.4.1",
"firebase": "^3.9.0",
"rxjs": "^5.0.1",
"ts-helpers": "^1.1.1",
"zone.js": "^0.7.2"
},
"devDependencies": {
"@angular/cli": "^1.4.4",
"@angular/compiler-cli": "^2.3.1",
"@types/jasmine": "2.5.38",
"@types/node": "^6.0.42",
"codelyzer": "~2.0.0-beta.1",
"jasmine-core": "2.5.2",
"jasmine-spec-reporter": "2.5.0",
"karma": "1.2.0",
"karma-chrome-launcher": "^2.0.0",
"karma-cli": "^1.0.1",
"karma-jasmine": "^1.0.2",
"karma-remap-istanbul": "^0.2.1",
"protractor": "~4.0.13",
"ts-node": "1.2.1",
"tslint": "^4.3.0",
"typescript": "~2.0.3",
"webpack": "^3.6.0"
}
}
所以我注意到很多指南和教程在这个主题上大相径庭,主要是因为不同版本的 AngularFire2 每次都会改变它的工作方式。一个让像我这样正在学习的人感到非常沮丧的问题。
【问题讨论】:
标签: angular typescript firebase firebase-realtime-database key