Javascript 离子2聚烯烃
我有一个popover,它将我带到另一个页面,在那里我弹出到根页面(PoptRoot),在事件上重新加载数据/dom,然后在promise中当json数据从服务器返回时关闭弹出窗口。如果我在解雇时有一个大的超时时间,一切都很好Javascript 离子2聚烯烃,javascript,angular,typescript,ionic2,ionic3,Javascript,Angular,Typescript,Ionic2,Ionic3,我有一个popover,它将我带到另一个页面,在那里我弹出到根页面(PoptRoot),在事件上重新加载数据/dom,然后在promise中当json数据从服务器返回时关闭弹出窗口。如果我在解雇时有一个大的超时时间,一切都很好 dismissPopup() { if (this.popover) { let that = this; setTimeout(function () { that.popover.dismiss(); }
dismissPopup() {
if (this.popover) {
let that = this;
setTimeout(function () {
that.popover.dismiss();
}, 500);
}
}
如果我将超时设置得太低,比如100ms,它不会关闭,因为dom仍在加载
然而,我不认为暂停可能是最好的做法。如果有人有一个缓慢的设计,而时间不够,会发生什么
有人能提出建议吗?我是否应该检测dom何时加载,然后调用Disclease?如何检查dom是否已加载
谢谢您可以使用。通过这样做,您可以在数据从服务器返回时发布事件(一切就绪),并订阅该事件以了解何时需要关闭弹出窗口
import { Events } from 'ionic-angular';
constructor(public events: Events) {}
// first page (publish an event when data is ready)
events.publish('loading:finished', data);
// second page (listen for the loading finished event)
events.subscribe('loading:finished', (eventData) => {
// eventData is an array of parameters, so grab our first and only arg
console.log('Data:', eventData[0]);
});
也可以通过调用ViewController上的disclose()方法从popover的视图中解除popover
构造函数(公共navParams:navParams、公共navCtrl:NavController、公共viewController:viewController){
log(“Hello PopOverComponent组件”);
}
废话
{
//做点什么
this.viewController.disclose();
}
这是一个老问题,但请您将任何答案(如果有帮助的话)标记为已接受,以便我们关闭它?谢谢:)