2017-07-03 63 views
0

我一直在試圖通過一個模式參數,我試圖爲每個「項目」我有一個「個人頁面」。如何將參數傳遞給離子中的模態?

的foreach項: ...

<button (click)="viewIndividualTour(item)" ion-fab class="fab-map"> 
     <ion-icon name='information-circle'></ion-icon> 
</button> 

我創建了打字稿中viewIndividualTour功能是這樣的:

viewIndividualTour(item) { 
    let viewTourModal = this.modalCtrl.create(ViewTour, item}); 
    viewTourModal.present(); 
    } 

,所以我想 「項目」 傳遞給ViewTour頁。爲了能夠在我的ViewTour模板html頁面中使用「item」,我需要首先在.ts中定義它。我怎樣才能做到這一點?

一些背景資料:當列出的所有物品: <ion-item-sliding *ngFor="let item of items; let idx = index;"> ... ,然後我可以使用item.cartegory例如。

在.TS該頁面中,我定義的項目,如:public items: any;

而且我通過運行這個函數填充「項」的所有數據:

refreshTours() { 
    this.db.getDocumentClient().query({ 
     ...linesOfCode... 
    }).promise().then((data) => { 
     this.items = data.Items; 
    ...linesofCode... 
    } 

所以有我定義的項目。在我的新案例中,我想爲項目創建單獨的模式,而不是使用ngFor(foreach)將它們全部列出。

回答

0

在你傳遞一個對象與所有的主要頁面,第二個參數PARAMS到create()方法,就像你已經做了:

viewIndividualTour(item) { 
    let viewTourModal = this.modalCtrl.create(ViewTour,{ item: item}); 
    viewTourModal.present(); 
} 

在你的模態的打字稿文件(ViewTour.ts)你可以使用NavParams來訪問給定的對象:

item : any; 

constructor(navParams: NavParams) { 
    this.item = navParams.get('item'); 
} 

有了這個,你有一個項目成員變量,你可以在你的模板中使用。

相關問題