2017-09-04 26 views
0

这是我一对多的firebase关系;在离子3角4的火力基础上检索数据从一个到多个关系4

{ 
    "factory_sites" : { 
    "site 1" : { 
     "Name" : "Factory 1", 
     "Address" : "Malabe", 
     "factory_site_lines":{ 
     "-FSL0000001" : { 
      "Name" : "Line 1" 
     }, 
     "FSL0000002" : { 
      "Name" : "Line 2" 
     } 
     } 
    }, 
    "site 2" : { 
     "Name" : "Factory 2", 
     "Address" : "Malabe", 
     "factory_site_lines":{ 
     "FSL0000001" : { 
      "Name" : "Line 1" 
     }, 
     "FSL0000002" : { 
      "Name" : "Line 2" 
     }, 
     "FSL0000003" : { 
      "Name" : "Line 3" 
     } 
     } 
    }, 
    "site 3" : { 
     "Name" : "Factory 3", 
     "Address" : "Malabe", 
     "factory_site_lines":{ 
     "FSL0000002" : { 
      "Name" : "Line 2" 
     }, 
     "FSL0000004" : { 
      "Name" : "Line 4" 
     }, 
     "FSL0000005" : { 
      "Name" : "Line 5" 
     } 
     } 
    } 
    } 
} 

这是我编写的用于检索数据的示例代码;

import { Component } from '@angular/core'; 
    import { IonicPage, NavController, NavParams } from 'ionic-angular'; 
    import { AngularFireDatabase, FirebaseListObservable } from'angularfire2/database'; 

    @Component({ 
     selector: 'page-factory', 
     templateUrl: 'factory.html', 
    }) 
    export class FactoryPage { 

     sites: FirebaseListObservable<any[]>; 

    constructor(public navCtrl: NavController, public navParams:NavParams,private af: AngularFireDatabase) 
    { 
     this.sites = af.list('/factory_sites'); 
     console.log(this.sites); 
    } 
    } 

控制台日志结果显示;

对象{_isScalar:假,$ REF:对象,来源:对象,操作:对象}

我正在开发一个离子移动应用程序。 离子3版本与角4使用firebase实时数据库。所以我坚持从Firebase中的一对多关系中检索数据。我也想检索与儿童关系的工厂网站的数据。我试图访问“/factory_sites”的路径,但结果带有空对象。我跟着一些教程,但没有更新,不符合我的问题。我如何从工厂网站检索具有子女关系的数据?

任何帮助将不胜感激?谢谢!

回答

0

您需要订阅数据才能查看它。您目前正在尝试查看可观察对象。

您可以用异步管访问HTML中的数据

<div>{{ sites | async }}</div> 

或者,如果你要访问它在你的组件,你可以做以下

this.sites.subscribe(sites => { 
    console.log(sites); 
}); 

小心订阅, Angular不会自动取消订阅,您需要手动执行此操作。

相关问题