【发布时间】:2021-04-05 12:54:12
【问题描述】:
我在home.ts中的代码是这样的
schools: any;
ionViewWillLoad(){
this.afoDatabase.list('/students',
{
query:{
orderByChild: 'department',
equalTo: this.schools[0].department
}
}).subscribe(snap => {
this.students = snap;
});
}
实际上变量 schools 在开始时并未设置为任何值。可以选择仅在页面加载后设置 schools 变量。 当我将 equalTo 的值硬编码为“xyz”而不是 this.schools[0].department 时,它按预期工作。
那么现在我应该如何构建查询,这样我就不会得到 p>
运行时错误无法读取未定义的属性“0”
更新:
当我将学校声明更改为
schools: any[]=[];
我收到以下错误
无法读取未定义的属性“部门”
只要定义了值,那么只有我想要查询,否则我不想查询。这个条件怎么写?
【问题讨论】:
-
应该是数组类型
schools: any[ ] = [ ]; -
如果将其声明为数组,则无法读取未定义的属性“部门”
-
代码学校数组在哪里填充?是不是在ionViewWillLoad()之前
-
没有。用户只能在页面加载后设置。
-
@vjnan369 您找到解决问题的方法了吗?我面临着类似的问题,如下所述。
标签: typescript firebase ionic-framework firebase-realtime-database ionic2