【发布时间】:2018-10-05 11:25:06
【问题描述】:
我正在开发一个应用程序,我已经在每个页面的标题中添加了一个后退图标。但我需要使用设备后退按钮实现相同的功能。每个页面都使用一些我无法在util.js 服务中访问的参数进行路由。
1. app.component.ts
ngOnInit() {
document.addEventListener('deviceready', (evt) => this.onDeviceReady(evt), false);
document.addEventListener('resume', (evt) => this.onResumeCall(evt), false);
document.addEventListener('offline', this.inOfflineMode, false);
document.addEventListener('online', this.inOnlineMode, false);
document.addEventListener('backbutton', (evt) => this.onBackKeyDown(evt), false);
this._config.init();
this.analyticsService.updateAppOpenCount();
}
- 在这里我可以使用另一个服务文件中实现的功能注册后退按钮事件。
2。 util.js
public deviceBackButton(): void {
if (window.cordova) {
if (window.location.hash === '#/') {
// window.history.back();
navigator.app.backHistory();
navigator.app.exitApp();
} else {
window.history.back();
}
}
}
这是一个后退按钮处理函数,在 util.js 中实现,不过是服务。我无法在此服务中注入组件。
我们是否有任何其他解决方法,以便我们可以使用 cordova 和 angular 4/6 在任何组件或页面中重写此后退按钮处理程序?
目前我可以从第一页返回,但从第二页开始应用程序视图变差。
【问题讨论】:
标签: android angular cordova cordova-plugins angular6