gpt4 book ai didi

ionic-framework - 单击设备后退按钮会关闭应用程序,而不是返回上一页

转载 作者:行者123 更新时间:2023-12-04 01:27:43 25 4
gpt4 key购买 nike

如果点击任意ion-item它会打开所需的页面,但如果我单击设备后退按钮,它会关闭应用程序,而不是返回到 android 中的上一页:

这是我的 ionic 侧菜单:

<ion-side-menus enable-menu-with-back-views="false">
<ion-side-menu-content>
<ion-nav-bar class="bar-positive">
<ion-nav-back-button></ion-nav-back-button>
<ion-nav-buttons side="left">
<button class="button button-icon icon ion-android-menu" menu-toggle="left">
</button>
</ion-nav-buttons>
</ion-nav-bar>
<ion-nav-view name="menuContent"></ion-nav-view>
</ion-side-menu-content>

<ion-side-menu side="left">
<ion-header-bar class="bar-positive">
<h1 class="title"></h1>
</ion-header-bar>
<ion-content>
<ion-list>
<ion-item menu-close ng-click="login()">
Login
</ion-item>
<ion-item menu-close ui-sref="app.search">
Search
</ion-item>
<ion-item menu-close href="#/app/browse">
Browse
</ion-item>
<ion-item menu-close href="#/app/playlists">
Playlists
</ion-item>
</ion-list>
</ion-content>
</ion-side-menu>
</ion-side-menus>

这里是 app.js :
    .state('app', {
url: '/app',
abstract: true,
templateUrl: 'templates/menu.html',
controller: 'AppCtrl'
})

.state('app.search', {
url: '/search',
views: {
'menuContent': {
templateUrl: 'templates/search/default.html'
}
}
})
.state('app.search-form', {
url: '/search-form',
views: {
'menuContent': {
templateUrl: 'templates/search/search-form.html'
}
}
})

我找到了一种解决方案:
$ionicHistory.nextViewOptions({        
disableBack: true,
historyRoot: true
});

因此,当您单击一个按钮并转到下一页时,这将禁用后退按钮。

最佳答案

它是 menu-close清除历史记录的侧面菜单中的属性。您可以尝试将其替换为 menu-toggle="left" .这仍然会关闭侧栏,但会保留历史记录。

我最终覆盖了 HW 返回键的行为,如下所示。
当按下返回时,它会在退出应用程序之前将用户发送到起始 View 。请注意,我仍然使用 menu-close侧菜单中的属性。另请注意,我碰巧将起始 URL 存储在 window.localStorage["start_view"] 中。因为它可以在我的应用程序中改变。希望它可以帮助/启发其他人解决这个问题。

$ionicPlatform.registerBackButtonAction(function(event) {
if ($ionicHistory.backView() == null && $ionicHistory.currentView().url != window.localStorage["start_view"]) {
// Goto start view
console.log("-> Going to start view instead of exiting");
$ionicHistory.currentView($ionicHistory.backView()); // to clean history.
$rootScope.$apply(function() {
$location.path(window.localStorage["start_view"]);
});
} else if ($ionicHistory.backView() == null && $ionicHistory.currentView().url == window.localStorage["start_view"]) {
console.log("-> Exiting app");
navigator.app.exitApp();
} else {
// Normal back
console.log("-> Going back");
$ionicHistory.goBack();
}
}, 100);

关于ionic-framework - 单击设备后退按钮会关闭应用程序,而不是返回上一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32795646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com