实例:
在采购单审批页面(procurement),点击“商品名称”字段,跳到新的商品信息(goods-details)的详情页,其中商品信息通过点击的商品名称的id来查到:
首先要在商品名称上面绑定一个点击跳转的方法:
<ion-item tappable (click)="viewGoods(item.itemId,item.specificationId)">
<ion-label fixed>名称</ion-label>
<span item-right>{{item?.itemName}}</span>
<ion-icon name="ios-mdp-gengduo" item-end></ion-icon>
</ion-item>
其中item.itemId和item.specificationId是从采购审批页面传递到详情页面的两个参数,详情页面需要凭此两个参数找到具体的商品的信息:
viewGoods(id1, id2) {
this.navCtrl.push('goods-details', {
fromPage: {
// 页面上取到的id1和id2作为itemId和itemSpecificationInformationId传递到详情页
data: {
itemId: id1,
itemSpecificationInformationId: id2
}
}
})
}
在详情页上写取出商品信息的方法getDetailById(),采购审批页面传过来的两个参数用于取出对应的详情信息:
getDetailById() {
this.loading.showLoading();
const params = { // 上一个页面传过来的两个参数
itemId: this.itemId,
itemSpecificationInformationId:this.itemSpecificationInformationId
};
this.procurementProvider.getDetailById(params).subscribe(res => {
// procurementProvider中调用接口,传参取数据
this.loading.hideLoading();
if (res) {
this.dataSet1 = res.item;
// dataSet1存放item表中拿到的数据
this.dataSet2 = res.itemSpecificationInformation;
// dataSet2存放itemSpecificationInformation表中拿到的数据
if (helpers.IsEmpty(this.dataSet1.url)) {
this.dataSet1.url = 'assets/img/user.png';
} else {
this.dataSet1.url = `${this.globalProvider.baseUrl +
this.globalProvider.getApiUrl('uploadFile') +
this.dataSet1.url +
'?access_token=' +
this.globalProvider.tokenInfo.access_token}`;
}
} else {
this.toast.failToast("查询失败");
}
},
err => {
this.loading.hideLoading();
});
}