Javascript 在HTML上显示AngularFireList数据时出错

Javascript 在HTML上显示AngularFireList数据时出错,javascript,angular,firebase-realtime-database,ionic3,angularfire2,Javascript,Angular,Firebase Realtime Database,Ionic3,Angularfire2,我试图在Home.html上显示从firebase检索到的数据,但我不断收到相同的错误: 找不到类型为“object”的不同支持对象“[object]”。NgFor只支持绑定到数组之类的可重用文件 你能帮我吗 我的申请表上有以下代码: user.service.ts import { AngularFireList } from 'angularfire2/database/interfaces'; import { AngularFireDatabase } from 'angularfire

我试图在Home.html上显示从firebase检索到的数据,但我不断收到相同的错误:

找不到类型为“object”的不同支持对象“[object]”。NgFor只支持绑定到数组之类的可重用文件

你能帮我吗

我的申请表上有以下代码:

user.service.ts

import { AngularFireList } from 'angularfire2/database/interfaces';
import { AngularFireDatabase } from 'angularfire2/database';

export class UserService {

  users: AngularFireList<User[]>;

  constructor(
    public http: HttpClient,
    public af: AngularFireDatabase
  ) {
    this.users = this.af.list('users');
  }

  create(user: User): void {
    this.af.list('users').push(user);
  }
}
从“angularfire2/数据库/接口”导入{AngularFireList};
从“angularfire2/database”导入{AngularFireDatabase};
导出类用户服务{
用户:AngularFireList;
建造师(
公共http:HttpClient,
公共af:AngularFire数据库
) {
this.users=this.af.list(“用户”);
}
创建(用户:用户):无效{
此.af.list(“用户”).push(用户);
}
}
home.ts

import { UserService } from './../../providers/user/user.service';
import { AngularFireList } from 'angularfire2/database/interfaces';

export class HomePage {

  users: AngularFireList<User[]>;

  constructor(
    public navCtrl: NavController,
    public userService: UserService
  ) {

  }

  ionViewDidLoad(){
    this.users = this.userService.users;
  }
从“/../../providers/user/user.service”导入{UserService};
从“angularfire2/数据库/接口”导入{AngularFireList};
导出类主页{
用户:AngularFireList;
建造师(
公共navCtrl:NavController,
公共用户服务:用户服务
) {
}
ionViewDidLoad(){
this.users=this.userService.users;
}
home.html

<ion-content padding>

  <ion-list no-lines>
    <button ion-item *ngFor="let user of users">
      {{ user.name }}
    </button>
  </ion-list>

  <button ion-button block (click)="onSignUp()">Sign Up</button>
</ion-content>

{{user.name}
注册
更改此选项:

this.users = this.af.list('users');
为此:

this.users = this.af.list('users').valueChanges();
编辑:2018-08-06

这解决了我的问题:

在我的user.service.ts上,我声明了我的VAR,如下所示:

usersRef: AngularFireList<any>;
users: Observable<any[]>;
<ion-list no-lines>
    <button ion-item *ngFor="let user of users | async">
      {{ user.name }}
    </button>
</ion-list>
通过这种方式,我可以恢复HTML上“用户”的值,如下所示:

usersRef: AngularFireList<any>;
users: Observable<any[]>;
<ion-list no-lines>
    <button ion-item *ngFor="let user of users | async">
      {{ user.name }}
    </button>
</ion-list>

{{user.name}
在home.ts中:

users: Observable<any[]>;

ionViewDidLoad(){
  this.users = this.userService.users;
}
用户:可观察;
ionViewDidLoad(){
this.users=this.userService.users;
}

console.log(this.users)显示什么?{query:Reference,update:ƒ,set:ƒ,push:ƒ,remove:ƒ,}auditTrail:ƒ(事件)push:ƒ(数据)query:Reference{repo:repo,path:path,queryParamsƒ:queryParams,orderByCalledƒ:false}remove:remove(项)set:ƒdataOperation(项,值)快照更改:ƒ(事件)状态更改:ƒ(事件)更新:ƒ数据操作(项目、值)值更改:ƒ(事件)proto:object可能重复我还原了您上次的编辑,因为问题是针对问题的,答案是针对答案的。每个人都可以在您接受的答案中看到答案:),并且因为您接受了答案,人们可以看到此问题已解决。@AndréKool好的!TKSS和我的错误用法:)这样做会显示以下错误:类型“Observable”不可分配给类型“AngularFireList”。类型“Observable”中缺少属性“query”。将用户:AngularFireList更改为用户:ObservableName错误:找不到不同的支持对象“[object object object]”…请尝试:this.af.list('users').valueChanges().subscribe(用户=>{console.log(users)});错误:类型“Subscription”不可分配给类型“Observable”。类型“Subscription”中缺少属性“\u isScalar”。如果我将用户更改为用户:AngularFireList;再次获得:类型“Subscription”不可分配给类型“AngularFireList”。类型“Subscription”中缺少属性“query”。