【发布时间】:2018-03-29 03:57:10
【问题描述】:
我正在尝试使用名为 feed.component.html 的以下模板在提要上显示消息
<div class="feed">
<div *ngFor="let message of feed | async" class="message">
<app-messages [chatMessage]="message"></app-messages>
</div>
</div>
我不断收到以下错误,并且无法在我的 html 聊天页面上显示我发送到 Firebase 数据库的消息。
错误错误: InvalidPipeArgument: '[object Object]' 用于管道 '异步管道'
我的feed.component.ts 文件如下:
import { Component, OnInit, OnChanges } from '@angular/core';
import { ChatService } from '../services/chat.service';
import { Observable } from 'rxjs/observable';
import { ChatMessage } from '../models/chat-message.model';
import { AngularFireList } from 'angularfire2/database';
@Component({
selector: 'app-feed',
templateUrl: './feed.component.html',
styleUrls: ['./feed.component.css']
})
export class FeedComponent implements OnInit, OnChanges {
feed: AngularFireList<ChatMessage[]>;
constructor(private chat: ChatService) { }
ngOnInit() {
console.log("feed init...")
this.feed = this.chat.getMessages();
}
ngOnChanges() {
this.feed = this.chat.getMessages();
}
}
下面还有我的messages.components.ts 文件:
import { Component, OnInit, Input } from '@angular/core';
import { ChatService } from '../services/chat.service';
import { Observable } from 'rxjs/observable';
import { ChatMessage } from '../models/chat-message.model';
@Component({
selector: 'app-messages',
templateUrl: './messages.component.html',
styleUrls: ['./messages.component.css']
})
export class MessagesComponent implements OnInit {
@Input() chatMessage: ChatMessage;
userName: string;
userEmail: string;
messageContent: string;
timeStamp: Date = new Date();
constructor() { }
ngOnInit(chatMessage = this.chatMessage) {
this.messageContent = chatMessage.message;
this.timeStamp = chatMessage.timeSent;
this.userEmail = chatMessage.email;
this.userName = chatMessage.userName;
}
}
谁能告诉我这里出了什么问题以及我可以做些什么来解决它?
【问题讨论】:
-
Angularfire2 版本?顺便说一句,您可能应该使用
Observable而不是AngularFireList。我认为它已被删除 -
@Edric 我使用的 AngularFire2 版本是 angularfire2: "^5.0.0-rc.6"。 Observable 是指 FirebaseListObservable?
-
不,只是
rxjs上的Observable -
我真的很陌生,你能告诉我怎么做吗? @埃德里克
标签: angular firebase firebase-realtime-database angularfire2