【发布时间】:2018-03-18 15:02:02
【问题描述】:
我在使用 Ionic 3 和 Firebase 获取基本 CRUD 待办事项列表应用时遇到问题。
我遇到的错误信息是:
未捕获(承诺中):错误:InvalidPipeArgument: '[object Object]' for pipe 'AsyncPipe'
当我将 <ion-item *ngFor="let item of shoppingListRef$ | async"> 部分添加到 shopping-list.html 时开始出现错误消息:
shopping-list.html
<ion-header>
<ion-navbar color="primary">
<ion-title>Shopping List</ion-title>
<ion-buttons end>
<button ion-button icon-only (click)="navigateToAddShoppingPage()">
<ion-icon name="add"></ion-icon>
</button>
</ion-buttons>
</ion-navbar>
</ion-header>
<ion-content padding>
<ion-list>
<ion-item *ngFor="let item of shoppingListRef$ | async">
<h2>Item Name: {{item.itemName}}</h2>
<h3>Amount: {{item.itemNumber}}</h3>
</ion-item>
</ion-list>
</ion-content>
我已经尝试在上面的文件中注释掉<ion-item> 和</ion-item> 之间的代码,这会删除错误消息。但是,无法弄清楚如何解决它。
这里有一些相关的文件。
shopping-list.ts
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { AngularFireDatabase, FirebaseListObservable } from 'angularfire2/database';
import { AddShoppingPage } from '../add-shopping/add-shopping';
import { ShoppingItem } from '../../models/shopping-item/shopping-item.interface';
@Component({
selector: 'page-shopping-list',
templateUrl: 'shopping-list.html',
})
export class ShoppingListPage {
shoppingListRef$: FirebaseListObservable<ShoppingItem[]>
constructor(public navCtrl: NavController, public navParams: NavParams, private database: AngularFireDatabase) {
this.shoppingListRef$ = this.database.list('shopping-list');
}
navigateToAddShoppingPage() {
this.navCtrl.push(AddShoppingPage)
}
}
shopping-item.interface.ts
export interface ShoppingItem {
itemName: string;
itemNumber: number;
}
提前感谢您提供的任何想法/帮助!
【问题讨论】:
-
您使用的是哪个版本的 angularfire?
-
我正在使用 angularfire2 - 你可以在
import { AngularFireDatabase, FirebaseListObservable } from 'angularfire2/database';@HamedBaatour 的 shopping-list.ts 中看到
标签: angular typescript firebase ionic2 ionic3