Не удается найти другой поддерживающий объект '[object Object]' типа 'object'. angularfire2 - PullRequest
0 голосов
/ 04 мая 2018

Я новичок в использовании angularfire2. Допустим, я хочу перечислить все элементы, но я также хочу получить имя профиля, используя * ngFor. Тем не менее, у меня есть эта ошибка:

Невозможно найти отличающийся вспомогательный объект типа «[объект]] типа «Объект». NgFor поддерживает только привязку к итерациям, таким как массивы.

У меня есть такие данные

- items
  - id
    - name: string
    - type : string
    - userId: string

- profile
  - id
    - username: string

это мой код

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import { Item } from '../../models/item';
import { profile } from '../../models/profile';
import { AngularFireDatabase } from 'angularfire2/database';

@IonicPage()
@Component({
  selector: 'page-timeline',
  templateUrl: 'timeline.html',
})
export class TimelinePage {
  item = {} as Item ;
  userId : string;
  profile  = {} as Profile;
  items: Observable<any[]>;
  profile: Observable<any[]>;


  constructor(
    private afDatabase : AngularFireDatabase,
    public navCtrl: NavController,
    public navParams: NavParams) {
    this.afDatabase.object(`profile/${c.payload.val().userId}`)
    this.dataItem = this.afDatabase.list('items' );
    this.dataProfile = this.afDatabase.list('profile/');

  }

ngOnInit(){
    this.items = this.dataItem.snapshotChanges().map(items => {
        return this.items.map(item => {
          this.item.userId.map(profile => {
            this.dataProfile.subscribe(c => {
              profile = c;
              //console.log(profile);
              });
          });
          return this.items;
        });
      });
      console.log(this.items)
  }

}

мой HTML-код

<ion-list color="primary">
  <ion-item *ngFor="let item of items | async">
    <h2>{{item.name}}</h2>
    <p>{{item.type}}</p>
    <p>{{item.username}}</p>
    <button ion-button clear item-end>View</button>
  </ion-item>
</ion-list>

спасибо

...