Moh*_*opi 1 ionic3 angular angular-router ionic4
我对ionic 4项目使用了角路由(@ angular / router)以禁用ionic 4中的设备后退按钮prevent-default不起作用,下面是我的代码
app.component.ts
this.platform.backButton.subscribe(() => {
if (this.router.url === '/Login') {
this.util.presentAppExitAlert();
} else {
// event.preventDefault();
console.log("invoing url ", this.router.url);
}
});
});
Run Code Online (Sandbox Code Playgroud)
我无法在此处禁用设备后退按钮的任何帮助
听众backButton已经转向 RxJS observables 哲学,所以现在做得有点不同:
const backButtonSubscription = this.platform.backButton
.subscribeWithPriority(9999, () => {
// Do my stuff on back button tap
}));
...
// Now I want to return back button to previous state
backButtonSubscription.unsubscribe();
Run Code Online (Sandbox Code Playgroud)
也许您想backButtonSubscription为您的类创建一个属性,以便您可以在其他类函数中访问它。
我找到了如何撤消它(返回按钮以前的功能):
您的观察者被推入this.platform.backButton.observers数组。所以你只需要弹出列表的最后一个元素:
this.platform.backButton.observers.pop();
Run Code Online (Sandbox Code Playgroud)
希望它对某人有帮助。
小智 6
initializeApp() {
this.platform.ready().then(() => {
this.platform.backButton.subscribeWithPriority(9999, () => {
document.addEventListener('backbutton', function (event) {
event.preventDefault();
event.stopPropagation();
console.log('hello');
}, false);
});
this.statusBar.styleDefault();
});
}
Run Code Online (Sandbox Code Playgroud)
2020年5月2日
\n\n这对我有用。
\n\n应用程序组件.ts
\n\n\xc2\xa0\xc2\xa0
\n\nasync\xc2\xa0initializeApp():\xc2\xa0Promise<void>\xc2\xa0{\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0await\xc2\xa0this.platform.ready();\n\xc2\xa0\xc2\xa0\xc2\xa0\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0this.platform.backButton.subscribeWithPriority(1,\xc2\xa0()\xc2\xa0=>\xc2\xa0{\xc2\xa0//\xc2\xa0to\xc2\xa0disable\xc2\xa0hardware\xc2\xa0back\xc2\xa0button on whole app\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0});\n\n\xc2\xa0\xc2\xa0}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
3887 次 |
| 最近记录: |