2017-02-26 22 views
1

からコレクションを取得、これは私のFirebaseデータ構造であり、Iはイオン2、Angularfire 2及びFirebaseを使用してモバイルアプリを開発していますが、私はこだわっている:イオン2 Angularfire 2はfirebase

enter image description here

I carritoからリストを作成する必要がありますが、同時にprecioフィールドを取得して別のコレクション(precios)にリンクし、キー値(上記の画像に示すように)、関連するフィールド(opcion & precio)。

コード:list.tsここ

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

@Component({ 
    selector: 'page-lista', 
    templateUrl: 'lista.html', 
}) 
export class Lista { 
    public restaName:any; 
    serviceData: string; 

    carrito: FirebaseListObservable<any>; 
    precios: FirebaseListObservable<any>; 

    constructor(public navCtrl: NavController, public navParams: 
    NavParams, af: AngularFire, private shareService: ShareService) { 

    this.serviceData = shareService.getRestaName(); 
    this.restaName = this.serviceData 

    this.carrito = af.database.list('/carrito', { 
     query: { 
     orderByChild: 'restaname', 
     equalTo: this.restaName 
     } 
    }); 
    this.precios = af.database.list('/precios', { 
     query: { 
     orderByKey: true, 
     equalTo: this.precio ???? ---> HERE BEGIN MY DOUBTS 
     } 
    }); 
    } 

がlista.html

<ion-content padding> 
<ion-list> 
    <ion-item *ngFor="let item of carrito | async "> 
    <p> {{item.prodname}} - {{item.cantidad}}</p> 
    </ion-item> 
    <ion-item *ngFor="let precio of precios | async "> ??? HOW CAN I GET THE FIELDS precio and opcion 
    <p>${{precio.precio}}</p> 
    </ion-item> 
</ion-list> 
</ion-content> 

の一部である任意のヒントやコメントが理解されるであろう!

+1

のFirebaseObjectObservableの配列を使用することができます。 – theblindprophet

答えて

0

あなたは、コードをしてください提供する代わりに precios: FirebaseListObservable<any>;

public precios :Array<FirebaseObjectObservable<any>> 
this.carrito.subscribe(carrito => carrito.forEach(singleCarrito=> 
precios.push(af.database.object('/precios/'+singleCarrito.precio)) 
+0

こんにちはジョナス、あなたのヒントありがとう。エラーメッセージが表示されます:汎用タイプ 'FirebaseObjectObservable 'には1つのタイプ引数が必要です。 FirebaseObjectObservableをインポートしてください。すでにインポートしています。何か案が ? – CaribeSoft

+0

私のせいで、私は私の例で少し間違いを犯しました。私は私の答えでそれをcorectします。 –