Ionic 1 - Как включить кнопку возврата в заголовке - angularjs

Когда я перехожу с домашней страницы на другую, кнопка «Назад» не отображается на панели навигации. Однако есть определенные случаи, когда ионный дисплей отображает кнопку возврата. например, перейдите на страницу настроек, нажмите кнопку возврата на страницу профиля, и кнопка мобильного банка также работает нормально.

Цель состоит в том, что пользователь должен перейти на домашнюю страницу при нажатии кнопки возврата мобильного оборудования с кнопкой возврата на панель навигации и на подтверждении отображения домашней страницы при нажатии кнопки возврата на аппаратном уровне.

Я уже просмотрел множество вопросов и ответов по стеку, но ничего не нашел для этого подходящего решения.

Вот мой код, который пытается -

.run(function($ionicPlatform, $rootScope, $ionicLoading, $ionicPopup, $ionicHistory, $localStorage, $timeout, $http, $state) {
    $ionicPlatform.ready(function() {
       $ionicPlatform.registerBackButtonAction(function(event) {
            if ($state.current.name= = "app.home") {
                $ionicPopup.confirm({
                    title: 'System',
                    template: 'are you sure you want to exit?'
                }).then(function(res) {
                    if (res) {
                        ionic.Platform.exitApp();
                    }
                })
            }
        }, 101);
    });
})

Как заставить Ionic отображать кнопку возврата на определенной странице?

    .config(function($stateProvider, $urlRouterProvider){
    $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.settings', {
        cache:false,
        url: '/settings',
        views: {
            'menuContent': {
                templateUrl: 'templates/setting/settings.html',
                controller: 'SettingsCtrl'
            }
        }
    })
    .state('app.wfhadd', {
        cache:false,
        url: '/wfh/wfhadd',
        views: {
            'menuContent': {
                templateUrl: 'templates/wfh/addwfh.html',
                controller: 'AddWfhCtrl'
            }
        }
    })
    .state('app.wfhlist', {
        cache:false,
        url: '/wfh/wfhlist',
        views: {
            'menuContent': {
                templateUrl: 'templates/wfh/wfhlist.html',
                controller: 'listWfhCtrl'
            }
        }
    })
    .state('app.login', {
        cache: false,
        url: '/login/:userid/:logpass',
        views: {
            'menuContent': {
                templateUrl: 'templates/login.html',
                controller: 'LoginCtrl',
                params:  {'userid': null, 'logpass': null}
            }
        }
    })
    .state('app.profile', {
        cache: false,
        url: '/settings/profile',
        views: {
            'menuContent': {
                templateUrl: 'templates/setting/profile.html',
                controller: 'ProfileCtrl'
            }
        }
    })
    .state('app.activities', {
        cache: false,
        url: '/activities',
        views: {
            'menuContent': {
                templateUrl: 'templates/activities.html',
                controller: 'ProfileCtrl'
            }
        }
    })
    .state('app.leave', {
        cache: false,
        url: '/leave',
        views: {
            'menuContent': {
                templateUrl: 'templates/leave/leave.html',
            }
        }
    })
    .state('app.leavelist', {
        cache: false,
        url: '/leave/allleaves/:id',
        views: {
            'menuContent': {
                templateUrl: 'templates/leave/leavelist.html',
                controller: 'LeaveCtrl',
                params:  {'leaveid': null}
            }
        }
    })
    .state('app.leavedtls', {
        cache: false,
        url: '/leave/details',
        views: {
            'menuContent': {
                templateUrl: 'templates/leave/leavedtls.html',
                controller: 'LeaveDtlsCtrl'
            }
        }
    })
    .state('app.leaveapply', {
        cache: false,
        url: '/leave/apply',
        views: {
            'menuContent': {
                templateUrl: 'templates/leave/leaveapply.html',
                controller: 'LeaveApplyCtrl'
            }
        }
    })
    .state('app.terms', {
        url: '/settings/terms',
        views: {
            'menuContent': {
                templateUrl: 'templates/policy.html'
            }
        }
    })
    .state('app.about', {
        url: '/settings/about',
        views: {
            'menuContent': {
                templateUrl: 'templates/about.html'
            }
        }
    })
    ;
    $urlRouterProvider.otherwise('/app/home');
})

ИЗМЕНИТЬ 1

Теперь я поместил следующий код в контроллер профиля и кнопку «Назад» на странице профиля, но он не работает (не вернуться на домашнюю страницу).

.controller('ProfileCtrl', function($scope,$rootScope, $ionicHistory, $http,$localStorage, $ionicNavBarDelegate){

    $scope.$on('$ionicView.beforeEnter', function (event, viewData) {
        viewData.enableBack = true; 
    });

})

Вы пробовали использовать событие $stateChangeStart? stackoverflow.com/questions/21867569/…

Tan Duong 12.04.2018 08:03

Куда его запихивать? любой пример @ Tan

Daniel Smith 12.04.2018 08:08

Вы можете добавить его в свой основной контроллер, чтобы это событие всегда регистрировалось.

Tan Duong 12.04.2018 08:10

Отлично. тогда как включить кнопку возврата с помощью этого?

Daniel Smith 12.04.2018 08:11

Вы можете использовать ту же функцию $stateChangeStart. я полагал

Tan Duong 12.04.2018 08:19

Ничего страшного - лучше всего подойдет любой рабочий пример ..

Daniel Smith 12.04.2018 09:03

вы можете видеть кнопку возврата для дочерних представлений только из корня. Страница настроек - это корень, страница, вложенная в настройки, может видеть только кнопку возврата.

Abinesh Joyel 12.04.2018 09:15

Когда я перехожу к боковое меню страницы настроек, в заголовке нет кнопки возврата. Вроде вся страница выглядит. @ Абинеш

Daniel Smith 12.04.2018 10:37

на странице настроек вы можете увидеть только кнопку меню в заголовке. Потому что настройка - это корень состояния. вы можете увидеть кнопку «Назад» при настройке вложенных страниц

Abinesh Joyel 12.04.2018 11:29

Ага. Но я хочу показать там кнопку "Назад". Это моя цель.

Daniel Smith 12.04.2018 11:32

Затем создайте кнопку возврата в шаблонах menu.html и задайте корневое условие для этой страницы настроек.

Abinesh Joyel 12.04.2018 13:34

Спасибо за любой пример? @Abinesh

Daniel Smith 12.04.2018 15:08

Я привел пример, пожалуйста, проверьте его и ответьте

Abinesh Joyel 13.04.2018 07:21
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
13
100
0

Другие вопросы по теме