我試圖通過NavParams將一個頁面中的特定數據傳遞給另一個頁面,但我總是在控制檯中獲得undefined
結果。我不知道什麼似乎是問題。這裏是我的代碼:Ionic 2中的NavParams
order.ts(TS文件,我想要得到的數據)
postOrder(ordernum) {
let headers = new Headers();
headers.append('Content-Type', 'application/json');
let data=JSON.stringify({
mode_code: this.data2code,
order_totalpayment: this.dataquantity,
order_status: this.status
});
this.http.post('http://<--My JSON API-->/xxx/api.php/ordered?transform=1',data,headers)
.map(res => res.json())
.subscribe(res => {
console.log("Success Order No.: "+res);
this.ordernum = res;
let data2=JSON.stringify({
order_no: this.ordernum,
prod_id: this.dataid,
order_subtotal: this.dataquantity
});
this.http.post('http://xxxx/xxx/api.php/order_list?transform=1',data2,headers)
.map(resp => resp.json())
.subscribe(resp => {
console.log("Order List No.: "+resp);
this.nav.setRoot(ConfirmorderPage, { ordernum: ordernum });
}, (err) => {
this.showPopup("Oops!", "Something went wrong.");
});
}, (err) => {
this.showPopup("Oops!", "Something went wrong.");
});
}
在代碼中,我試圖讓是this.ordernum
數據。所以,我用這個代碼:postOrder(ordernum)
this.nav.setRoot(ConfirmorderPage, { ordernum: ordernum });
order.html(在我沒有數據傳遞到另一個頁面的HTML文件)
<div">
<div padding>
<p>Your Order Number is {{ordernum}}</p>
</div>
</div>
<div style="margin: 10px;">
<button ion-button block color="orange" (click)="postOrder(ordernum)" >Place Order</button>
</div>
</div>
我想要的數據的ordernum
,讓我把它放在點擊功能(click)="postOrder(ordernum)"
confirmorder.ts(在這裏我想ordernum
從orderpage傳遞數據TS文件)
constructor(public navCtrl: NavController, public navParams: NavParams) {
this.order = this.navParams.get('ordernum');
console.log(this.order);
}
我用this.navParams.get('ordernum')
從訂單頁面獲取數據,並且我將ordernum
數據傳遞給this.order
變量,但是當我試圖在控制檯中顯示它時,我得到了未定義的結果。我不知道我的代碼有什麼問題。希望你們能幫助我。先謝謝你。