温泉uI:Controllandroid后退路线:

Onsen uI:Controll android backbutton routes:

我正在使用 Onsenui 在 cordova 中开发一个 android 应用程序,我想在其中单击设备后退按钮时导航到上一页 我正在使用 this 问题的答案来解决问题

这是我的代码

document.addEventListener("backbutton",onBackButtonPressed, false);
    function onBackButtonPressed(){
            alert('backbutton');
            var element = document.querySelector( ".navigator-container");
            var scope = angular.element( element ).scope();
            scope.popPage();
    }

我会得到以下错误

"Uncaught TypeError: Cannot read property 'popPage' of undefined"

可能 .navigator-container 已被弃用,这就是为什么我建议您使用 ons-navigator 作为 document.querySelector() 的参数来获取导航器。

固定代码如下:

document.addEventListener("backbutton",onBackButtonPressed, false);
    function onBackButtonPressed(){
            alert('backbutton');
            var element = document.querySelector("ons-navigator");
            element.popPage();
}

编辑

假设您使用的是旧版本的 Onsen UI,例如 1.3.4,并且假设您的导航器具有 var='myNavigator' 属性,则可以使用以下代码:

document.addEventListener("backbutton",onBackButtonPressed, false);
    function onBackButtonPressed(){
            alert('backbutton');
            var element = document.querySelector("ons-navigator");
            var scope = angular.element(element).scope();
            scope.myNavigator.popPage();
}