我是 ionic v2 的新手。我正在使用 http post 服务发布数据并返回到 inventory.ts 的 .subscribe() 方法(引用下面的代码)。我在库存页面上,该页面是子类别页面的子页面及其类别页面的进一步子页面。类别页面设置为根页面。 当我使用 location.reload() 时,它会转到根页面。我需要重新加载包含新数据的库存页面。在给定的图像计数中 -50+ 将是 50-50 即。 0,单击提交并调用 alterStock 函数后。所以我需要用 -0+ 计数刷新它。
inventory-provider.ts
alterStock(stockRelatedData) {
if (stockRelatedData.departmentID === null || stockRelatedData.itemID === null || stockRelatedData.stock === null) {
return Observable.throw("Please insert details");
} else {
return Observable.create(observer => {
let headers = new Headers({
'Content-Type': 'application/x-www-form-urlencoded'
});
let options = new RequestOptions({
headers: headers
});
// TODO: Encode the values using encodeURIComponent().
var link = 'http://ims/api/inventory/alterstock?api_token='+ stockRelatedData.apiToken;
var data = JSON.stringify({department_id: stockRelatedData.departmentID, item_id: stockRelatedData.itemID, stock: stockRelatedData.stock, api_token: stockRelatedData.apiToken, location_id: stockRelatedData.locationID, user_id: stockRelatedData.userID});
this.http.post(link, data, options)
.subscribe(result => {
this.data = result;
this.data = JSON.parse(this.data._body);
let access = this.data.status;
observer.next(access);
observer.complete();
}, error => {
console.log("Oooops!");
});
});
}
inventory.ts
this.inventoryService.alterStock(this.stockRelatedData).subscribe(allowed => {
if (allowed) {
setTimeout(() => {
this.loading.dismiss();
// here i need to reload this child page with new data
});
} else {
this.showError("Access Denied");
}
},
error => {
this.showError(error);
});
最佳答案
您可以尝试调用相同的函数,一旦您进行了与库存更新相关的任何事件,调用相同的函数让您显示它们。
这应该可以解决这个问题!
注意:双向绑定(bind)应该是可以的,万一不行,就强行绑定(bind)吧!
关于angular - 在 IONIC v2 中从同一页面更改数据后如何使用新数据重新加载子页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42668685/