Ответ 1
Это выполняется по-умолчанию по умолчанию в бета-версии 14. Вы также можете переключать этот атрибут.
<ion-side-menus enable-menu-with-back-views="false">
Относительный кодпэн Проект старшего начальника Sidemenu Документы Sidemenu
Я пытаюсь сделать кнопку меню не отображаться, когда отображается кнопка "Назад". есть ли способ позволить Ионину позаботиться об этом? или это для меня?
например, если я использую ui-sref для перехода с app.users на app.users.add или app.users.details, я ожидаю, что кнопка меню будет скрыта, а кнопка "Назад", чтобы показать, но они оба показывают когда я перехожу к вложенным представлениям. Пример:
<button class="button button-positive" ui-sref="app.users.details({id:user.id})"> User details </button>
app.js
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('app', {
url: '/app',
abstract: true,
templateUrl: 'templates/menu.html'
//controller: 'AppCtrl'
})
.state('app.users', {
url: '/users',
views: {
'[email protected]' : {
controller: 'UsersCtrl',
templateUrl: 'templates/users.html'
}
}
})
.state('app.users.add', {
url: '/addUsers',
views: {
'[email protected]' : {
controller: 'AddUserCtrl',
templateUrl: 'templates/add_user.html'
}
}
})
.state('app.users.details', {
url: '/userDetails/:id',
views: {
'[email protected]' : {
controller: 'UserDetailsCtrl',
templateUrl: 'templates/details_user.html'
}
}
})
}
menu.html
<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-forward"></i> back
</ion-nav-back-button>
</ion-nav-bar>
<ion-nav-view name="menuContent" animation="slide-right-left"></ion-nav-view>
</ion-pane>
<ion-side-menu side="right">
<header class="bar bar-header bar-stable">
<h1 class="title">Title</h1>
</header>
<ion-content class="has-header">
<ion-list>
<ion-item nav-clear menu-close ui-sref="app.users">
Users
</ion-item>
<ion-item nav-clear menu-close ui-sref="app.users.add">
New user
</ion-item>
</ion-list>
</ion-content>
</ion-side-menu>
</ion-side-menus>
Моя структура представлений такова:
<ion-view title="Title">
<ion-nav-buttons side="right">
<button menu-toggle="right"class="button button-icon icon ion-navicon"></button>
</ion-nav-buttons>
<ion-content class="has-header">
...
View Content
...
</ion-content>
</ion-view>
Это выполняется по-умолчанию по умолчанию в бета-версии 14. Вы также можете переключать этот атрибут.
<ion-side-menus enable-menu-with-back-views="false">
Относительный кодпэн Проект старшего начальника Sidemenu Документы Sidemenu
Также можно переопределить это с детской страницы, просто добавив директиву со стороны иона в дочерний шаблон:
<ion-side-menus enable-menu-with-back-views="true"></ion-side-menus>
<ion-view view-title="My Child page">
<ion-content>
<h1>HEY</h1>
</ion-content>
</ion-view>
Это добавит полную навигационную панель (ion-nav-bar) внутри вашей дочерней страницы, которая была добавлена в шаблон menu.html(в соответствии с приведенным выше примером)
Поместите навигационную панель с помощью кнопки меню на странице html, на которой вам нужна кнопка меню, и поместите навигационную панель с кнопкой "Назад" на странице, где вам нужна кнопка "Назад" .
Мне нравится Меню на домашней странице, поэтому разместите свою навигационную панель на главной странице с помощью кнопки меню
<ion-view title="home">
<ion-nav-bar class="bar-stable main-header-nav home-page">
<ion-nav-buttons side="left">
<button class="button button-icon button-clear ion-navicon" menu- toggle="left"></button>
</ion-nav-buttons>
</ion-nav-bar>
<ion-content></ion-content>
</ion-view>
И мне нужна кнопка "Назад" на странице "Входящие", поэтому используйте навигационную панель с кнопкой на странице "Входящие"
<ion-view title="">
<ion-nav-bar class="bar-stable main-header-nav home-page">
<ion-nav-back-button class="button-clear go-back">
</ion-nav-back-button>
</ion-nav-bar>
<ion-content></ion-content>
</ion-view>
Я решил в 2019 году добавить свойство ButtonToggle для кнопки. Это говорит Ionic/Angular, что функция этой кнопки - "кнопка Гамбургера", поэтому Angular понимает и скрывает ее, когда отображается кнопка "Back Arrow Button".
<button menuToggle ion-button icon-only (click)="btnHamburger()">
<ion-icon name="menu"></ion-icon>
</button>