簡體   English   中英

離子2從ts文件引用html文件中的值?

[英]Ionic 2 reference a value in html file from ts file?

我正在從Firebase查詢一組數據,並成功將數據列表提取到了html頁面。 有什么辦法可以從onViewProfile函數中的html頁面引用相應的item.uid值,以便可以將其推送到另一個頁面? 謝謝。 強調文字

HTML文件

<ion-content padding>
   <ion-label>Type</ion-label>
    <ion-select [(ngModel)]="type" (ionChange)="searchPitchesByType(type)">
      <ion-option value="test1">test1</ion-option>
      <ion-option value="test">test</ion-option>
    </ion-select>
<ion-list>
    <ion-item *ngFor="let item of pitches | async">
      Name: {{ item.name }}
      <p>
        Description:{{ item.description }}
      </p>
      <p>
        uid:{{ item.uid }} 
      </p>
      <button right ion-button icon-only (click)="onViewProfile()">
        <ion-icon name="add"></ion-icon>
      </button>
   </ion-item>
  </ion-list>

</ion-content>

TS文件

export class DiscoverPage {
   public pitches: FirebaseListObservable<any>;

  constructor(
  private navCtrl: NavController,
   private loadingCtrl: LoadingController,
   private popoverCtrl: PopoverController,
    public afDatabase: AngularFireDatabase
    ) {this.pitches = afDatabase.list('/Pitches/');}

searchPitchesByType(type: string){

  this.pitches = this.afDatabase.list('Pitches', {
    query: {
      orderByChild: 'type',
      equalTo: type

    }

  })



}
onViewProfile() {
  let data = {
    uid: **(uid that corresponds to the uid in html)**


  }
    console.log(this.navCtrl.push(ViewProfilePage, data));
}
}

好吧,它是如此簡單,以至於我覺得我做錯了。

您必須像這樣將其作為參數傳遞

<ion-item *ngFor="let item of pitches | async">
      Name: {{ item.name }}
      <p>
        Description:{{ item.description }}
      </p>
      <p>
        uid:{{ item.uid }} 
      </p>
      <button right ion-button icon-only (click)="onViewProfile(item)">
        <ion-icon name="add"></ion-icon>
      </button>
</ion-item>

然后你的ts會變成

onViewProfile(item) {
  let data = {
    uid: item.uid


  }
    console.log(this.navCtrl.push(ViewProfilePage, data));
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM