[英]Is it bad practice to use a global navigation provider in ionic3 with lazy loading?
我正在使用全局提供程序通过将导航控制器从页面传递到provider方法来打开页面。 还有其他更好的方法吗?
主要目的是不重复自己。 我在globalProvider.ts中使用的打开页面方法如下。 currentActive页面存储在提供程序的变量中,以防用户登录到应用程序,他将被重定向到最后一个活动页面(currentActive)
globalProvider.ts
openPage(navCtrl, page, params, setActive = true) {
this.showLoading();
if (setActive) {
this.currentActive = { root: page, params: params };
} else {
this.currentActive = { root: 'HomePage', params: null };
}
navCtrl.setRoot(page, params).then(res => {
if (!res) {
this.showError('Please login to view page!');
navCtrl.setRoot('LoginPage', {
activePage: this.currentActive.root
}).then(res => {
this.hideLoading();
}).catch(err => {
this.hideLoading();
});
}
this.hideLoading();
}).catch(error => {
this.hideLoading();
});
}
我认为这种做法没有什么坏处。 我也做了类似的逻辑,以避免在每个页面中重复执行show加载和hide加载逻辑。
但是,我还保留了另一个参数 ,以帮助我确定是应将页面设置为root还是应将其压入当前堆栈。
这也有助于我从中心位置跟踪页面视图以进行分析。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.