Javascript 在HTML上显示AngularFireList数据时出错
我试图在Home.html上显示从firebase检索到的数据,但我不断收到相同的错误: 找不到类型为“object”的不同支持对象“[object]”。NgFor只支持绑定到数组之类的可重用文件 你能帮我吗 我的申请表上有以下代码: user.service.tsJavascript 在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
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”。