Я новичок в использовании 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>
спасибо