【发布时间】:2018-09-16 23:45:22
【问题描述】:
我目前正在创建一个 Ionic 笔记应用程序,我将允许用户使用 reorderArray() 函数重新排列列表中的项目。但是,我使用的是 Firebase,所以我在 this.notesList 上收到此错误。
“Observable”类型的参数不能分配给 键入“任何 []”。 “可观察”类型中缺少属性“长度”。
我不确定如何将它与 Firebase 一起使用,所以任何事情都会有所帮助。这是我的代码:
HTML:
<div *ngIf="editmode">
<ion-list reorder="true" (ionItemReoder)="reorderItem($event)">
<ion-item *ngFor="let note of notesList | async">
<ion-checkbox (ionChange)="addToTrash(note.id)"></ion-checkbox>
<ion-label>
<h1>{{ note.name }}</h1>
<span>{{ note.note_date | date: 'shortDate' }}</span>
<span>{{ note.text }}</span>
<span>{{ (notesList | async)?.length }}</span>
</ion-label>
</ion-item>
</ion-list>
</div>
打字稿:
export class NotesPage {
notesList: Observable<any>;
editmode: boolean = false;
trash = [];
constructor(
public navCtrl: NavController,
public navParams: NavParams,
public database: AngularFireDatabase,
public loadingCtrl: LoadingController,
public alertCtrl: AlertController
) {
this.loadNotes();
}
loadNotes() {
const loader = this.loadingCtrl.create();
loader.present().then( () => {
this.notesList = this.database.list('/notes').valueChanges();
loader.dismiss();
})
}
reorderItem( indexes ) {
this.notesList = reorderArray(this.notesList, indexes);
}
}
【问题讨论】:
标签: angular typescript firebase ionic-framework ionic2