Ionic 프레임워크 $state.go('app')home' )는 이동처 페이지의 뒤로 버튼을 추가하는 것입니까(삭제 방법)?
사이드바 메뉴가 있는 앱이 있습니다.현재 두 번째 페이지에 있으며 컨트롤러 함수를 호출하고 있습니다.이 함수는 다음을 사용하여 첫 번째 페이지로 리다이렉트합니다.
$state.go('app.home');
문제는 이 페이지에서 사이드바 메뉴 아이콘 옆에 뒤로 버튼이 표시된다는 것입니다.아래 이미지를 참조하십시오.
사이드바 메뉴가 할당된 페이지에 되돌아가기 버튼을 추가하는 것을 거부할 수 있는 방법을 가르쳐 주시겠습니까?
도와주셔서 감사합니다.
app.discs는 라우터의 설정을 다음과 같이 합니다.
angular.module('Test', ['ionic', 'config', 'Test', 'LocalStorageModule'])
.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
if(window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
}
if(window.StatusBar) {
// org.apache.cordova.statusbar required
StatusBar.styleDefault();
}
});
})
.config(function($stateProvider, $urlRouterProvider, localStorageServiceProvider) {
localStorageServiceProvider
.setPrefix('max_relax');
$stateProvider
.state('app', {
url: '/app',
abstract: true,
templateUrl: 'templates/menu.html',
controller: 'AppCtrl'
})
.state('app.home', {
url: '/home',
views: {
'menuContent' :{
templateUrl: 'templates/home.html',
controller: 'HomeCtrl'
}
}
})
.state('app.saved', {
url: '/saved',
views: {
'menuContent' :{
templateUrl: 'templates/saved.html',
controller: 'SavedCtrl'
}
}
})
.state('app.settings', {
url: '/settings',
views: {
'menuContent' :{
templateUrl: 'templates/settings.html',
controller: 'SettingsCtrl'
}
}
});
// if none of the above states are matched, use this as the fallback
$urlRouterProvider.otherwise('/app/home');
});
편집:
메뉴 템플릿 추가:
<ion-side-menus>
<ion-pane ion-side-menu-content>
<ion-nav-bar class="bar-stable">
<ion-nav-back-button class="button-clear"><i class="icon ion-ios7-arrow-back"></i> Back</ion-nav-back-button>
</ion-nav-bar>
<ion-nav-view name="menuContent" animation="slide-left-right"></ion-nav-view>
</ion-pane>
<ion-side-menu side="left">
<header class="bar bar-header bar-stable">
<h1 class="title">Menu</h1>
</header>
<ion-content class="has-header">
<ion-list>
<ion-item nav-clear menu-close href="#/app/home">
Home
</ion-item>
<ion-item nav-clear menu-close href="#/app/saved">
Saved
</ion-item>
<ion-item nav-clear menu-close href="#/app/settings">
Settings
</ion-item>
</ion-list>
</ion-content>
</ion-side-menu>
</ion-side-menus>
호출하기 전에 컨트롤러에서 사용$state.go('app.home')
.
.controller('HomeCtrl', function($scope,...,$ionicHistory) {
...
$ionicHistory.nextViewOptions({
disableBack: true
});
$state.go('app.home');
});
nextViewOptions는 $state.go('Yourstate') 앞에 설정할 수 있습니다.컨트롤러에서 다음과 같이 쓸 수 있습니다.
$ionicHistory.nextViewOptions({
disableBack: true
});
$state.go('app.home');
따라서 이 이행에서는 이력 스택이 클리어되고 다음 뷰가 이력 스택의 루트로 설정됩니다.
반환할 컨트롤러HomeCtrl
:
.controller('SavedCtrl', function($scope,...,$ionicHistory) {
...
$ionicHistory.nextViewOptions({
disableBack: true
});
$state.go('app.home');
})
.controller('HomeCtrl', function($scope,...,$ionicHistory) {
$ionicHistory.clearHistory();
})
$ionicNavBarDelegate.showBackButton(false);
당신이 가지고 있는 한<ion-nav-back-button></ion-nav-back-button>
에 포함된.<ion-nav-bar>
기본적으로 모든 보기에서 뒤로 버튼을 볼 수 있습니다.app
.
삭제 중<ion-nav-back-button>
를 사용하여 모든 보기에서 뒤로 버튼을 제거합니다.app
. 설정에 따라 표시하는 템플릿에 따라 선택적으로 비활성화할 수 있습니다.hide-back-button="true"
에서<ion-view>
사용할 수 있습니다.
그래서, 당신의 경우,<ion-nav-back-button class="button-clear"><i class="icon ion-ios7-arrow-back"></i> Back</ion-nav-back-button>
부터menu.html
를 사용하여 모든 보기에서 뒤로 버튼을 숨깁니다.app
.
Ionic의 사이드 메뉴를 사용할 때도 문제가 있었습니다.
사이드 메뉴에서 옵션을 선택할 때 결과 페이지/뷰에 네비게이션 바에 뒤로 버튼이 표시되는 경우가 있습니다(메뉴 옵션을 선택하면 이력이 리셋되기 때문에).
이 문제는 메뉴 옵션에서 "ng-click"을 사용하는 것과 관련이 있습니다.다음은 예를 제시하겠습니다.
<ion-item menu-close ng-click="showStartPage()" ...>
컨트롤러 메서드로 $state.go(...)를 호출합니다.
해결책은 다음과 같이 코드화하는 것이었습니다.
<ion-item menu-close href="#/startPage" ...>
이렇게 하면 Ionic은 (분명히) 내비게이션 이력을 적절히 추적할 수 있습니다.
(실행하지 않았지만 아마 'href'가 아닌 'ui-sref'도 사용할 수 있을 것 같습니다.)
언급URL : https://stackoverflow.com/questions/27930702/ionic-framework-state-goapp-home-is-adding-back-button-on-page-where-i-wan
'programing' 카테고리의 다른 글
ng-click이 ng-blur 이벤트보다 우선하도록 강제하려면 어떻게 해야 합니까? (0) | 2023.02.14 |
---|---|
Oracle SQL 날짜 비교 (0) | 2023.02.14 |
Wordpress 메뉴에 사용자 정의 마크업 추가 (0) | 2023.02.14 |
RoboPOJ 사용방법Android Studio에서 Json에서 모델 클래스를 자동으로 생성하는 OGenerator (0) | 2023.02.14 |
react-module-module: 디버깅 출력의 일부가 표시되지 않음 (0) | 2023.02.14 |