ionic3 - ERROR Error: Uncaught (in promise): Error: InvalidPipeArgument: #39;[object Object]#39; for pipe #39;AsyncPipe#39;(ionic3 - 错误错误:未捕获(承诺):错误:InvalidPipeArgument:[object Object] for pipeAsyncPipe)
问题描述
在测试评论功能已经工作之后,我用 ionic3 用 firebase 做了一个新闻评论功能,但是当我想在我的项目中显示评论时出现错误.
I did a news comment function by ionic3 with firebase, after testing comment function working already, but when I want the comment showing in my project error coming out.
错误错误:未捕获(承诺):错误:InvalidPipeArgument:管道AsyncPipe"的[object Object]"
ERROR Error: Uncaught (in promise): Error: InvalidPipeArgument: '[object Object]' for pipe 'AsyncPipe'
我的项目遵循此教程.
html 文件
<ion-list>
  <ion-item-group *ngFor="let contact of contactsList | async">
    <ion-item>
      {{contact.$value}}
    </ion-item>
  </ion-item-group>
</ion-list>
    <ion-list>
        <ion-row>
            <ion-col col-6>
                <ion-input type="text" [(ngModel)]="Contact" placeholder="写评论..."></ion-input>
            </ion-col>
            <ion-col>
                <button ion-button color="primary" (click)="addContact()">发布</button>
            </ion-col>      
        </ion-row>
    </ion-list>
ts 文件
 import { AngularFireList } from 'angularfire2/database';
 export class NewsDetailPage {
  new: any;
  contactsList:AngularFireList<any>;
  Contact = '';
  constructor(public navCtrl: NavController, public navParams: NavParams,
    private qq: QQSDK, private socialSharing: SocialSharing,
    public firebaseService:FirebaseServiceProvider,public alertCtrl: AlertController
    // private photoViewer: PhotoViewer
  ) {
    this.new = navParams.get('new');
    this.contactsList = this.firebaseService.getContactsList();
  }
  addContact() {
    this.firebaseService.addContact(this.Contact);
    const alert = this.alertCtrl.create({
      title: '评论成功!',
      //subTitle: 'Your friend, Obi wan Kenobi, just accepted your friend request!',
      buttons: ['确认']
    });
}
更新:
  getContactsList() {
    return this.angularfiredb.list('/contactsList/');
  }
推荐答案
你需要先将 AngularFireList 转换为 Observable:
You need to first convert the AngularFireList to an Observable :
contactsList: Observable<any[]>;
在你的构造函数中,你需要调用 valueChanges() .这是从 AngularFire2 版本 5 开始的.
And in your constructor, you need to call valueChanges() on it. This is since AngularFire2 Version 5.
this.contactsList = this.firebaseService.getContactsList().valueChanges();
这将通过不带 $key 或 $value 的 observable 返回数据.为了在 html 中打印,请使用
This will return the data through the observable without $key or $value.
In order to print in html,use
  {{contact}}
而不是
  {{contact.$value}}
                        这篇关于ionic3 - 错误错误:未捕获(承诺):错误:InvalidPipeArgument:'[object Object]' for pipe'AsyncPipe'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:ionic3 - 错误错误:未捕获(承诺):错误:InvalidPipeArgument:'[object Object]' for pipe'AsyncPipe'
				
        
 
            
        基础教程推荐
- 每次设置弹出窗口的焦点 2022-01-01
 - 如何使用 CSS 显示和隐藏 div? 2022-01-01
 - 为什么我在 Vue.js 中得到 ERR_CONNECTION_TIMED_OUT? 2022-01-01
 - Javascript 在多个元素上单击事件侦听器并获取目标 2022-01-01
 - Node.js 有没有好的索引/搜索引擎? 2022-01-01
 - WatchKit 支持 html 吗?有没有像 UIWebview 这样的控制器? 2022-01-01
 - jQuery File Upload - 如何识别所有文件何时上传 2022-01-01
 - 如何使用sencha Touch2在单页中显示列表和其他标签 2022-01-01
 - 如何在特定日期之前获取消息? 2022-01-01
 - 什么是不使用 jQuery 的经验技术原因? 2022-01-01
 
    	
    	
    	
    	
    	
    	
    	
    	
						
						
						
						
						
				
				
				
				