私の目的は、データを同じページに渡すことです。私はこのコンセプトを理解するのに苦労している。私はまだイオンbtwの新しいです。データを同じページに戻す方法
私のrequest.html
コードは、要求のFirebaseコンソールからすべての要求を取得します。
<ion-header>
<ion-navbar color="primary">
<ion-title name="title">Job Requests</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
<div class="filter">
<button class="islandwide" ion-button large>Islandwide</button>
<button class="nearby" ion-button large (click)="openMapPage()">Nearby</button>
</div>
<ion-list>
<ion-card *ngFor="let user of request | async" class="job">
<button ion-item (click)="goToJobDetails(user.$key)" class="info">
<ion-avatar class="avatar" item-start>
<img src="../assets/icon/user_male-512.png">
</ion-avatar>
<h2 class="name">{{user.regdetails.username}}</h2>
<p text-wrap class="address"><ion-icon name="compass">
</ion-icon> {{user.regdetails.address}}</p>
<p id="key">{{user.$key}}</p>
</button>
</ion-card>
</ion-list>
</ion-content>
私のコンストラクタ:
constructor(public navCtrl: NavController, public navParams: NavParams,
angFire: AngularFireDatabase) {
this.request = angFire.list('/request');
this.userreq = angFire.list(`${this.userkey}`);
this.reqdetails = angFire.list('reqdetails');
}
マイopenMapPage()
方法
は、基本的にはこの方法しかreqdetails
を持つすべてのユーザーを返し、データがrequest.html
ページ
openMapPage()
{
var ref = firebase.database().ref("request");
ref.once("value").then((snapshot) => { // <------ Here!
var a = snapshot.exists(); // true
var c = snapshot.hasChild("reqdetails"); // true
var d = snapshot.child('reqdetails').exists();
var requestsKey = snapshot.key;
var requestsValue = snapshot.val();
snapshot.forEach((childSnapshot) => { // <------ And here!
var requestKey = childSnapshot.key;
var requestValue = childSnapshot.val();
var reqdetails = requestValue.reqdetails;
if (reqdetails) {
this.data = requestKey;
console.log(this.data);
//this.arr.push(requestKey);
//console.log(this.arr);
}
});
this.navCtrl.push(RequestsPage, { 'param1': this.data });
});
}
に戻って渡しています
これは、request.html
は、リクエストテーブルからすべてのデータを取得した後のように見えます。これはfirebaseからのすべての要求レコードを取得するデフォルトのビューです。
そして今、私はこの問題に直面しています。ユーザーがrequest.html
のopenMapPage()
メソッドをクリックしてトリガーすると、openMapPage
にリダイレクトされます。どのように私は私がこの今のところ
this.navCtrl.push(RequestsPage, { 'param1': this.data });
試してみましたrequest.html
同じHTMLページに、唯一reqdetails
を持つユーザーのためのデータをリダイレクトします。しかし、それはまだそれがない持っている意味、全体の要求を示していますフィルタリングされました。
は、あなたの 'はconsole.log(this.data)されたもの;'プリント –
はそれだけreqdetailsを持つすべてのユーザーのキーを出力しています。 – Suresh
私はどのようにrequest.htmlページに戻りますか? – Suresh